数据结构第9章第10章习题
数据结构(C语言版)9-12章练习 答案 清华大学出版社
数据结构(C语言版)9-12章练习答案清华大学出版社
9-12章数据结构作业答案
第九章查找
选择题
1、对n个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为
( A )
A.(n+1)/2 B. n/2 C. n D. [(1+n)*n ]/2 2. 下面关于二分
查找的叙述正确的是 ( D )
A. 表必须有序,表可以顺序方式存储,也可以链表方式存储
B. 表必须有序且表中
数据必须是整型,实型或字符型 C. 表必须有序,而且只能从小到大排列 D. 表
必须有序,且表只能以顺序方式存储
3. 二叉查找树的查找效率与二叉树的( (1)C)有关, 在 ((2)C )时其查找效率最
低 (1): A. 高度 B. 结点的多少 C. 树型 D. 结点的位置
(2): A. 结点太多 B. 完全二叉树 C. 呈单枝树 D. 结点太复杂。
4. 若采用链地址法构造散列表,散列函数为H(key)=key MOD 17,则需 ((1)A)
个链表。
这些链的链首指针构成一个指针数组,数组的下标范围为 ((2)C) (1) A.17 B. 13 C. 16 D. 任意(2) A.0至17 B. 1至17 C. 0至16 D. 1至16
判断题
1.Hash表的平均查找长度与处理冲突的方法无关。 (错) 2. 若散列表的负载因子
α<1,则可避免碰撞的产生。(错)
3. 就平均查找长度而言,分块查找最小,折半查找次之,顺序查找最大。(错)
填空题
1. 在顺序表(8,11,15,19,25,26,30,33,42,48,50)中,用二分(折半)法查找关键
数据结构第九章排序习题及答案
数据结构第九章排序习题及答案
习题九排序
一、单项选择题
1.下列内部排序算法中:
A.快速排序 B、直接插入排序
C、二路归并排序
D、简单选择排序
E、起泡排序
F、堆排序
(1) 其比较次数与序列初态无关的算法就是( )
(2)不稳定的排序算法就是( )
(3)在初始序列已基本有序(除去n个元素中的某k个元素后即呈有序,k<<="" p="">
(4)排序的平均时间复杂度为O(n?logn)的算法就是( )为O(n?n)的算法就是( )
2.比较次数与排序的初始状态无关的排序方法就是( )。
A.直接插入排序
B.起泡排序
C.快速排序
D.简单选择排序
3.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序的过程中的变化为
(1) 84 47 25 15 21 (2) 15 47 25 84 21
(3) 15 21 25 84 47 (4) 15 21 25 47 84
则采用的排序就是 ( )。
A、选择
B、冒泡
C、快速
D、插入
4.下列排序算法中( )排序在一趟结束后不一定能选出一个元素放在其最终位置上。
A、选择
B、冒泡
C、归并
D、堆
5.一组记录的关键码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为( )。
A.(38,40,46,56,79,84) B、 (40,38,46,79,56,84)
C.(40,38,46,56,79,84) D、 (40,38,46,84,56,79)
6.下列排序算法中,在待排序数据已有序时,花费时间反而最多的就是( )排序。
数据结构第10章 习题答案
1.下列排序算法中,其中( D )是稳定的。
A. 堆排序,冒泡排序
B. 快速排序,堆排序
C. 直接选择排序,归并排序
D. 归并排序,冒泡排序
2.有一组数据(15,9,7,8,20,-1,7,4)用快速排序的划分方法进行一趟划分后数据的排序为 ( A )(按递增序)。
A.下面的B,C,D都不对。 B.9,7,8,4,-1,7,15,20
C.20,15,8,9,7,-1,4,7 D. 9,4,7,8,7,-1,15,20
3.下列排序算法中,在每一趟都能选出一个元素放到其最终位置上,并且其时间性能受数据初始特性影响的是:( B )。
A. 直接插入排序
B. 快速排序
C. 直接选择排序
D. 堆排序
4.如果只想得到1000个元素组成的序列中第5个最小元素之前的部分排序的序列,用( D )方法最快。
A.起泡排序 B.快速排列 C.Shell排序 D.堆排序 E.简单选择排序
5.从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为( A )排序法。
A. 插入
B. 选择
C. 希尔
D. 二路归并
6. 在排序算法中,每次从未排序的记录中挑出最小(或最大)关键码字的记录,加入到已排序记录的末尾,该排序方法是( A )。
A. 选择
B. 冒泡
C. 插入
D. 堆
7. 若用冒泡排序方法对序列{10,14,26,29,41,52}从大到小排序,需进行( C )次比较。
A. 3
B. 10
C. 15
D. 25
8. 对序列{15,9,7,8,20,-1,4,} 用希尔排序方法排序,经一趟后序列变为{15,-l,4,8,20,9,7}则该次采用的增量是 ( B )
数据结构第九、十章作业题及答案
第九章 查找 一、填空题
1. 在数据的存放无规律而言的线性表中进行检索的最佳方法是 顺序查找(线性查找) 。
2. 线性有序表(a 1,a 2,a 3,…,a 256)是从小到大排列的,对一个给定的值k ,用二分法检索表中与k 相等的元素,在查找不成功的情况下,最多需要检索 8 次。设有100个结点,用二分法查找时,最大比较次数是 7 。
3. 假设在有序线性表a[1..20]上进行折半查找,则比较一次查找成功的结点数为1;比较两次查找成功的结点数为 2 ;比较四次查找成功的结点数为 8 ,其下标从小到大依次是1,3,6,8,11,13,16,19______,平均查找长度为 3.7 。
解:显然,平均查找长度=O (log 2n )<5次(25)。但具体是多少次,则不应当按照公式
)1(log 1
2++=
n n
n ASL 来计算(即(21×log 221)/20=4.6次并不正确!)。因为这是在假设n =2m -1
的情况下推导出来的公式。应当用穷举法罗列:
全部元素的查找次数为=(1+2×2+4×3+8×4+5×5)=74; ASL =74/20=3.7 !!! 4.折半查找有序表(4,6,12,20,28,38,50,70,88,100),若查找表中元素20,它
将依次与表中元素 28,6,12,20 比较大小。
5. 在各种查找方法中,平均查找长度与结点个数n 无关的查找方法是 散列查找 。
6. 散列法存储的基本思想是由 关键字的值 决定数据的存储地址。
7. 有一个表长为m 的散列表,初始状态为空,现将n (n
(完整word版)数据结构第九章查找
第九章查找:习题
习题
一、选择题
1.散列表查找中k个关键字具有同一散列值,若用线性探测法将这k个关键字对应的记录存入散列表中,至少要进行( )次探测。
A. k B。k+l C. k(k+l)/2 D. l+k (k+l)/2
2.下述命题( )是不成立的。
A。m阶B-树中的每一个结点的子树个数都小于或等于m
B。m阶B-树中的每一个结点的子树个数都大于或等于『m/2-1
C。m阶B-树中的每一个结点的子树高度都相等
D。m阶B—树具有k个子树的非叶子结点含有(k-l)个关键字
3.如果要求一个基本线性表既能较快地查找,又能适应动态变化的要求,可以采用( )
查找方法.
A。分块 B. 顺序 C. 二分 D.散列
4.设有100个元素,用折半查找法进行查找时,最大比较次数是( ),最小比较次数
是( ).
A。7,1 B.6,l C.5,1 D. 8,1
5.散列表长m=15,散列表函数H(key)=key%13。表中已有4个结点:addr(18)=5;
addr(32)=6; addr(59)=7;addr(73)=8;其余地址为空,如果用二次探测再散列处理冲突,关键
字为109的结点的地址是( )。
A. 8 B。3 C. 5 D。4
6.用分块查找时,若线性表中共有729个元素,查找每个元素的概率相同,假设采用顺序查找来确定结点所在的块时,每块应分( )个结点最佳。
A。15 B. 27 C。25 D。30
7.散列函数有一个共同性质,即函数值应当以( )取其值域的每个值。
A.同等概率B。最大概率C。最小概率D。平均概率
数据结构第10章排序练习及答案
9.1选择题
1.从末排序的序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在排序序列的合适位置,该排序方法称为()排序法。
A)插入B)选择C)希尔D)二路归并
【答案】A
2.下面各种排序方法中,最好情况下时间复杂度为O(n)的是()
A)快速排序B)直接插入排序C)堆排序D)归并排序
【答案】B
3.用某种排序方法对线性表(25,84,21,47,15,27,68,35,20)进行排序时,无序序列的变化情况如下:
25 84 21 47 15 27 68 35 20
20 15 21 25 47 27 68 35 84
15 20 21 25 35 27 47 68 84
15 20 21 25 27 35 47 68 84
则所采用的排序方法是()
A)选择排序B)希尔排序C)归并排序D)快速排序
【答案】D
4.下面给出的四种排序法中,()排序是不稳定排序法。
A)插入B)冒泡C)二路归并D)堆
【答案】D
5.快速排序方法在()情况下最不利于发挥其长处。
A)要排序的数据量太大
B)要排序的数据中含有多个相同值
C)要排序的数据已基本有序
D)要排序的数据个数为奇数
【答案】C
6.一组记录的关键码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为()
A)38,40,46,56,79,84
B)40,38,46,79,56,84
C)40,38,46,56,79,84
D)40,38,46,84,56,79
【答案】C
7.对记录的关键码{50,26,38,80,70,90,8,30,40,20}进行排序,各趟排序结束时的结果为:
《数据结构》第九章作业参考答案
第九章查找
9.3 画出对长度为10的有序表进行折半查找的判定树,并求其等概率时查找成功的平均查找长度。
解:判定树应当描述每次查找的位置:
9.9已知如下所示长度为12的表:
(Jan, Feb, Mar, Apr, May, June, July, Aug, Sep, Oct, Nov, Dec)
(1)试按表中元素的顺序依次插入一棵初始为空的二叉排序树,画出插入完成之后的二叉排序树,
并求其在等概率的情况下查找成功的平均查找长度。
(2)若对表中元素先进行排序构成有序表,求在等概率的情况下对此有序表进行折半查找时查找成
功的平均查找长度。
(3)按表中元素顺序构造一棵平衡二叉排序树,并求其在等概率的情况下查找成功的平均查找长度。解:
9.19解:
H(22)=(3×22) mod 11=0 H(41)=(3×41) mod 11=2 H(53)=(3×53) mod 11=5 H(46)=(3×46) mod 11=6
H(30)=(3×30) mod 11=2 冲突d1=(7×30) mod 10+1=1 H1(30)=(2+1)/11=3 H(13)=(3×13) mod 11=6 冲突d1=(7×13) mod 10+1=2 H1(13)=(6+2)/11=8 H(01)=(3×01) mod 11=3冲突d1=(7×1) mod 10+1=8 H1(01)=(3+8)/11=0冲突d2=2*((7×1) mod 10+1)=16 H2(01)=(3+16)/11=8冲突
d3=3*((7×1) mod 10+1)=24 H3(01)=(3+24)/11=5冲突
算法与数据结构课后答案9-11章
算法与数据结构课后答案9-11章
第9章集合
一、基础知识题
9.1 若对长度均为n 的有序的顺序表和无序的顺序表分别进行顺序查找,试在下列三种情况下分别讨论二者在等概率情况下平均查找长度是否相同?
(1)查找不成功,即表中没有和关键字K 相等的记录;(2)查找成功,且表中只有一个和关键字K 相等的记录;
(3)查找成功,且表中有多个和关键字K 相等的记录,要求计算有多少个和关键字K 相等的记录。【解答】
(1)平均查找长度不相同。前者在n+1个位置均可能失败,后者失败时的查找长度都是n+1。(2)平均查找长度相同。在n 个位置上均可能成功。(3)平均查找长度不相同。前者在某个位置上(1<=i<=n)查找成功时,和关键字K 相等的记录是连续的,而后者要查找完顺序表的全部记录。
9.2 在查找和排序算法中,监视哨的作用是什么?
【解答】监视哨的作用是免去查找过程中每次都要检测整个表是否查找完毕,提高了查找效率。
9.3 用分块查找法,有2000项的表分成多少块最理想?每块的理想长度是多少?若每块长度为25 ,平均查找长度是多少?
【解答】分成45块,每块的理想长度为45(最后一块长20)。若每块长25,则平均查找长度为ASL=(80+1)/2+(25+1)/2=53.5(顺序查找确定块),或ASL=19(折半查找确定块)。
9.4 用不同的输入顺序输入n 个关键字,可能构造出的二叉排序树具有多少种不同形态? 【解答】 9.5 证明若二叉排序树中的一个结点存在两个孩子,则它的中序后继结点没有左孩子,中序前驱结点没有右孩子。
数据结构第九、十章 作业答案
第九章 查找
一、填空题
1. 在数据的存放无规律而言的线性表中进行检索的最佳方法是 顺序查找(线性查找) 。
2. 线性有序表(a 1,a 2,a 3,…,a 256)是从小到大排列的,对一个给定的值k ,用二分法检索表中与k 相等的元素,在查找不成功的情况下,最多需要检索 8 次。设有100个结点,用二分法查找时,最大比较次数是 7 。
3. 假设在有序线性表a[1..20]上进行折半查找,则比较一次查找成功的结点数为1;比较两次查找成功的结点数为 2 ;比较四次查找成功的结点数为 8 ,其下标从小到大依次是1,3,6,8,11,13,16,19______,平均查找长度为 3.7 。
解:显然,平均查找长度=O (log 2n )<5次(25)。但具体是多少次,则不应当按照公式
)1(log 1
2++=
n n
n ASL 来计算(即(21×log 221)/20=4.6次并不正确!)。因为这是在假设n =2m -1
的情况下推导出来的公式。应当用穷举法罗列:
全部元素的查找次数为=(1+2×2+4×3+8×4+5×5)=74; ASL =74/20=3.7 !!! 4.折半查找有序表(4,6,12,20,28,38,50,70,88,100),若查找表中元素20,它
将依次与表中元素 28,6,12,20 比较大小。
5. 在各种查找方法中,平均查找长度与结点个数n 无关的查找方法是 散列查找 。
6. 散列法存储的基本思想是由 关键字的值 决定数据的存储地址。
7. 有一个表长为m 的散列表,初始状态为空,现将n (n<m )个不同的关键码插入到散列表中,解决冲突的方法是用线性探测法。如果这n 个关键码的散列地址都相同,则探测的总次数是 n(n-1)/2=( 1+2+…+n-1) 。(而任一元素查找次数 ≤n-1)
数据结构1800试题-第10章 排序 - 答案
第10章排序(参考答案)
部分答案解释如下:
18. 对于后三种排序方法两趟排序后,序列的首部或尾部的两个元素应是有序的两个极值,而给定的序列并不满足。
20. 本题为步长为3的一趟希尔排序。 24.枢轴是73。
49. 小根堆中,关键字最大的记录只能在叶结点上,故不可能在小于等于n/2的结点上。
64. 因组与组之间已有序,故将n/k个组分别排序即可,基于比较的排序方法每组的时间下界为O(klog2k),全部时间下界为O(nlog2k)。
二、判断题
5. 错误。例如冒泡排序是稳定排序,将4,3,2,1按冒泡排序排成升序序列,第一趟变成3,2,1,4,此时3就朝向最终位置的相反方向移动。 12. 错误。堆是n个元素的序列,可以看作是完全二叉树,但相对于根并无左小右大的要求,故其既不是二叉排序树,更不会是平衡二叉树。
22. 错误。待排序序列为正序时,简单插入排序比归并排序快。
三、填空题
1. 比较,移动
2.生成有序归并段(顺串),归并
3.希尔排序、简单选择排序、快速排序、堆排序等
4. 冒泡,快速
5. (1)简单选择排序 (2)直接插入排序(最小的元素在最后时)
6. 免去查找过程中每一步都要检测整个表是否查找完毕,提高了查找效率。
7. n(n-1)/2
8.题中p指向无序区第一个记录,q指向最小值结点,一趟排序结束,p和q所指结点值交
换,同时向后移p指针。(1)!=null (2)p->next (3)r!=null (4)r->datadata
(5)r->next (6)p->next
9. 题中为操作方便,先增加头结点(最后删除),p指向无序区的前一记录,r指向最小值
《数据结构》习题汇编09-第九章-排序-试题
《数据结构》习题汇编09-第九章-排序-试题
数据结构课程(本科)第九章试题
一、单项选择题
1.若待排序对象序列在排序前已按其排序码递增顺序排
列,则采用()方法比较次数最少。
A. 直接插入排序
B. 快速排序
C. 归并排序
D. 直接选择排序
2.如果只想得到1024个元素组成的序列中的前5个最小
元素,那么用()方法最快。
A. 起泡排序
B. 快速排序
C. 直接选择排序
D. 堆排序
3.对待排序的元素序列进行划分,将其分为左、右两个
子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。这样的排序方法是()。
A. 直接选择排序
B. 直接插入排序
C. 快速排序
D. 起泡排序
4.对5个不同的数据元素进行直接插入排序,最多需要
进行()次比较?
A. 8
B. 10
C. 15
D. 25
5.如果输入序列是已经排好顺序的,则下列算法中
()算法最快结束?
A. 起泡排序
B. 直接插入排序
C. 直接选择排序
D. 快速排序
6.如果输入序列是已经排好顺序的,则下列算法中
()算法最慢结束?
A. 起泡排序
B. 直接插入排序
C. 直接选择排序
D. 快速排序
7.下列排序算法中()算法是不稳定的。
A. 起泡排序
B. 直接插入排序
C. 基数排序
D. 快速排序
8.假设某文件经过内部排序得到100个初始归并段,那
么如果要求利用多路平衡归并在3 趟内完成排序,则应取的归并路数至少是()。
A. 3
B. 4
C. 5
D. 6
9.采用任何基于排序码比较的算法,对5个互异的整数
进行排序,至少需要()次比较。
A. 5
B. 6
C. 7
数据结构课后习题第十章
1.在下列排序算法中,稳定的事(),平均速度最快的是(),所需辅助存储空间最多的是()。
A.希尔排序
B.快速排序
C.堆排序
D.归并排序
2.若要在O(n)数量级的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方式应该是()。
A.快速排序
B.堆排序
C.归并排序
D.希尔排序
3.在下列排序算法中,()算法的时间复杂度与初始排序无关。
A.直接插入排序
B.起泡排序
C.快速排序
D.直接选择排序
4.一组记录关键字序列是(46,79,56,38,40,84),则用堆排序方法建立的初始大根堆是()。
A.79,46,56,38,40,84
B.84,79,56,38,40,46
C.84,79,56,46,40,38
D.94,56,79,40,46,38
5.一组记录的关键字序列是(46,79,56,38,40,84),则用快速排序方法,以第一个关键字为支点,得到的第一次划分结果是()。
A.38,40,46,56,79,84
B.40,38,46,79,56,84
C.40,38,46,56,79,84
D.40,38,46,84,56,79
6.一组记录的关键字序列是(25,48,16,35,79,82,26,40,36,72),用二路归并排序方法进行排序,则第二趟归并的结果是()。
A.16,25,35,48,23,40,79,82,36,72
B.16,25,35,48,79,82,23,36,40,72
C.16,25,35,46,23,36,40,79,82,72
D.16,25,35,48,79,23,36,40,72,82
《数据结构》第九章习题参考答案
《数据结构》第九章习题参考答案
一、判断题(在正确说法的题后括号中打“√”,错误说法的题后括号中打“×”)
1、快速排序是一种稳定的排序方法。(×)
2、在任何情况下,归并排序都比简单插入排序快。(×)
3、当待排序的元素很大时,为了交换元素的位置,移动元素要占用较多的时间,这是影响时间复杂度的主要因素。(√)
4、内排序要求数据一定要以顺序方式存储。(×)
5、直接选择排序算法在最好情况下的时间复杂度为O(n)。( ×)
6、快速排序总比简单排序快。( ×)
二、单项选择题
1.在已知待排序文件已基本有序的前提下,效率最高的排序方法是(A)。
A.直接插入排序B.直接选择排序C.快速排序D.归并排序
2.下列排序方法中,哪一个是稳定的排序方法?(B)
A.直接选择排序B.折半插入排序C.希尔排序D.快速排序
3、比较次数与排序的初始状态无关的排序方法是( B)。
A.直接插入排序B.起泡排序(时间复杂度O(n2))C.快速排序D.简单选择排序
4、对一组数据(84,47,25,15,21)排序,数据的排列次序在排序的过程中的变化为(1)84 47 25 15 21 (2)15 47 25 84 21 (3)15 21 25 84 47 (4)15 21 25 47 84 则采用的排序是( A)。
A. 选择
B. 冒泡
C. 快速
D. 插入
5、快速排序方法在(D)情况下最不利于发挥其长处。
A. 要排序的数据量太大
B. 要排序的数据中含有多个相同值
C. 要排序的数据个数为奇数
D. 要排序的数据已基本有序
6、用某种排序方法对线性表{25,84,21,47,15,27,68,35,20}进行排序,各趟排序
数据结构第十章考试题库(含答案)
第10章排序
一、选择题
1.某内排序方法的稳定性是指( )。【南京理工大学 1997 一、10(2分)】
A.该排序算法不允许有相同的关键字记录 B.该排序算法允许有相同的关键字记录
C.平均时间为0(n log n)的排序方法 D.以上都不对
2.下面给出的四种排序法中( )排序法是不稳定性排序法。【北京航空航天大学 1999 一、10 (2分)】 A. 插入 B. 冒泡 C. 二路归并 D. 堆积
3.下列排序算法中,其中()是稳定的。【福州大学 1998 一、3 (2分)】
A. 堆排序,冒泡排序
B. 快速排序,堆排序
C. 直接选择排序,归并排序
D. 归并排序,冒泡排序
4.稳定的排序方法是()【北方交通大学 2000 二、3(2分)】
A.直接插入排序和快速排序 B.折半插入排序和起泡排序
C.简单选择排序和四路归并排序 D.树形选择排序和shell排序
5.下列排序方法中,哪一个是稳定的排序方法?()【北方交通大学 2001 一、8(2分)】A.直接选择排序 B.二分法插入排序 C.希尔排序 D.快速排序
6.若要求尽可能快地对序列进行稳定的排序,则应选(A.快速排序 B.归并排序 C.冒泡排序)。
【北京邮电大学 2001 一、5(2分)】
7.如果待排序序列中两个数据元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的。()就是不稳定的排序方法。【清华大学 1998 一、3 (2分)】
A.起泡排序 B.归并排序 C.Shell排序 D.直接插入排序 E.简单选择排序
8.若要求排序是稳定的,且关键字为实数,则在下列排序方法中应选()排序为宜。
数据结构-期末复习题及参考答案+-+第9章+++查找
《数据结构》期末复习题及参考答案- 第9章查找
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
注意:做复习题时,请结合阅读教材,钻研教材,参考课件
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
一、选择题
1、适用于折半查找的表的存储方式及元素排列要求为( )
A.链接方式存储,元素无序B.链接方式存储,元素有序
C.顺序方式存储,元素无序D.顺序方式存储,元素有序
2、对有18个元素的有序表A作折半查找,则查找A[3]的比较序列的下标为()
A.1,2,3
B.9,5,2,3
C.9,5,3
D.9,4,2,3
3、对有14个数据元素的有序表R进行折半搜索,搜索到R[3]的关键字等于给定值,查找
过程中元素比较的顺序依次为()。
4、对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( )
A.(N+1)/2 B. N/2 C. N D. [(1+N)*N ]/2
5、有一个长度为12的有序表,按二分查找法对该表进行查找,在表内各元素等概率情况
下查找成功所需的平均比较次数为()。
A.35/12 B.37/12 C.39/12 D.43/12
数据结构第九、十章 作业答案
第九章 查找
一、填空题
1. 在数据的存放无规律而言的线性表中进行检索的最佳方法是 顺序查找(线性查找) 。
2. 线性有序表(a 1,a 2,a 3,…,a 256)是从小到大排列的,对一个给定的值k ,用二分法检索
表中与k 相等的元素,在查找不成功的情况下,最多需要检索 8 次。设有100个结点,用二分法查找时,最大比较次数是 7 。
3. 假设在有序线性表a[1..20]上进行折半查找,则比较一次查找成功的结点数为1;比较两
次查找成功的结点数为 2 ;比较四次查找成功的结点数为 8 ,其下标从小到大依次是1,3,6,8,11,13,16,19______,平均查找长度为 3.7 。
解:显然,平均查找长度=O (log 2n )<5次(25)。但具体是多少次,则不应当按照公式
)1(log 12++=n n n ASL 来计算(即(21×log 221)/20=4.6次并不正确!)。因为这是在假设n =2m -1
的情况下推导出来的公式。应当用穷举法罗列:
全部元素的查找次数为=(1+2×2+4×3+8×4+5×5)=74; ASL =74/20=3.7 !!!
4.折半查找有序表(4,6,12,20,28,38,50,70,88,100),若查找表中元素20,它
将依次与表中元素 28,6,12,20 比较大小。
5. 在各种查找方法中,平均查找长度与结点个数n 无关的查找方法是 散列查找 。
6. 散列法存储的基本思想是由 关键字的值 决定数据的存储地址。
7. 有一个表长为m 的散列表,初始状态为空,现将n (n
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
查找
1.判断:⑴分块查找的平均查找长度不仅与索引表长度有关,而且与块的长度有关。()
⑵ Hash表的平均查找长度与处理冲突的方法无关。()
2. 在一棵二叉排序树上进行__ __ __遍历后,其关键字序列是一个有序表。
3. 对有18个元素的有序表作二分(折半)查找,则查找A[3]的比较序列的下标为_____。
A、1、2、3
B、9、5、2、3
C、9、5、3
D、9、4、2、3
4. 以下列数据为输入序列构造二叉排序树,画出构造结果。
100,50,30,120,150,110,40,70,90,200,115
5.设有一组关键字{9,01,23,14,55,20,84,27},采用哈希函数:H(key)=key mod 7 ,表长为10,用链地址法解决冲突。要求:对该关键字序列构造哈希表,并计算查找成功的平均查找长度。
排序
1.下列排序方法中,哪一个是稳定的排序方法?()
A.简单选择排序 B.折半插入排序
C.希尔排序 D.快速排序
2.在待排序的元素序列基本有序的前提下,效率最高的排序方法是()A.插入排序B.选择排序C.快速排序D.希尔排序
3. 在快速排序、堆排序、归并排序中,_________排序是稳定的。
4.对n个元素进行冒泡排序时,最少的比较次数是____ _。
5. 分别写出用希尔排序、快速排序将关键字序列{54,23,89,48,64,50,25,90,34,72}排序过程的每一趟结果。