数据结构查找与排序练习题答案——查找排序练习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构查找与排序练习题答案
一、选择题
1.对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( ) A.(N+1)/2 B. N/2 C. N D. [(1+N)*N ]/2
2.适用于折半查找的表的存储方式及元素排列要求为( )
A.链接方式存储,元素无序 B.链接方式存储,元素有序
C.顺序方式存储,元素无序D.顺序方式存储,元素有序
3.当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度( )
A.必定快 B.不一定 C. 在大部分情况下要快 D. 取决于表递增还是递减4.有一个长度为12的有序表,按二分查找法对该表进行查找,在表内各元素等概率情况下查找成功所需的平均比较次数为()。
A.35/12 B.37/12 C.39/12 D.43/12
5.折半查找的时间复杂性为()
A. O(n2)
B. O(n)
C. O(nlogn)
D. O(logn)
6.对有18个元素的有序表作折半查找,则查找A[3]的比较序列的下标为()
A.1,2,3
B.9,5,2,3
C.9,5,3
D.9,4,2,3
7.设有序表的关键字序列为{1,4,6,10,18,35,42,53,67,71,78,84,92,99},当用二分查找法查找健值为84的结点时,经()次比较后查找成功。
A.2
B. 3
C. 4
D.12
8.用n个键值构造一棵二叉排序树,最低高度为()
A.n/2
B.、n
C.logn
D.logn+1
9.分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是( ) A.(100,80, 90, 60, 120,110,130)
B.(100,120,110,130,80, 60, 90)
C.(100,60, 80, 90, 120,110,130)
D.(100,80, 60, 90, 120,130,110)
10.设有一组记录的关键字为{19,14,23,1,68,20,84,27,55,11,10,79},用链地址法构造散列表,散列函数为H(key)=key% 13,散列地址为1的链中有()个记录。A.1 B. 2 C. 3 D. 4
11.已知一采用开放地址法解决Hash表冲突,要从此Hash表中删除出一个记录,正确的做法是()
A.将该元素所在的存储单元清空。
B.将该元素用一个特殊的元素代替
C.将与该元素有相同Hash地址的后继元素顺次前移一个位置。
D.用与该元素有相同Hash地址的最后插入表中的元素替代。
12.假定有k个关键字互为同义词,若用线性探测法把这k个关键字存入散列表中,至少要进行多少次探测?( )
A.k-1次 B. k次C. k+1次D. k(k+1)/2次
13.散列表的地址区间为0-17,散列函数为H(K)=K mod 17。采用线性探测法处理冲突,并将关键字序列26,25,72,38,8,18,59依次存储到散列表中。
(1)元素59存放在散列表中的地址是()。
A. 8 B. 9 C. 10 D. 11
(2)存放元素59需要搜索的次数是()。
A. 2 B. 3 C. 4 D. 5
14.将10个元素散列到100000个单元的哈希表中,则()产生冲突。
A. 一定会
B. 一定不会
C. 仍可能会
15.对于线性表(7,34,77,25,64,49,20,14)进行散列存储时,若选用H(K)=K %7作为散列函数,则散列地址为0的元素有()个。
A.1
B.2
C.3
D.4
16.下列排序方法中,哪一个是稳定的排序方法?()
A.直接选择排序 B.直接插入排序 C.希尔排序 D.快速排序
17.在下列排序算法中,哪一个算法的时间复杂度与初始排序无关()。
A.直接插入排序
B.气泡排序
C. 快速排序
D.直接选择排序
18.比较次数与排序的初始状态无关的排序方法是( )。
A.直接插入排序
B.起泡排序
C.快速排序
D.简单选择排序
19.对序列{15,9,7,8,20,-1,4}进行排序,进行一趟后数据的排列变为{4,9,-1,8,20,7,15};则采用的是()排序。
A.选择
B.快速
C.希尔
D.冒泡
20.一组记录的关键码为(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)
21.就平均性能而言,目前最好的内排序方法是( )排序法。
A.冒泡
B.希尔插入
C.交换
D.快速
22.从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为( )排序法。
A.插入
B.选择
C.希尔
D.快速
23.用直接插入排序方法对下面四个序列进行排序(由小到大),元素比较次数最少的是()。
A.94,32,40,90,80,46,21,69
B.32,40,21,46,69,94,90,80
C.21,32,46,40,80,69,90,94
D.90,69,80,46,21,32,94,40
24.直接插入排序在最好情况下的时间复杂度为()
A.O(logn)
B.O(n)
C.O(n*logn)
D.O(n2)
25.对序列{15,9,7,8,20,-1,4,} 用希尔排序方法排序,经一趟后序列变为{15,-l,4,8,20,9,7}则该次采用的增量是 ( )
A.l
B.4
C.3
D.2
26.对下列关键字序列用快速排序法进行排序时,速度最快的情形是()。
A.{21,25,5,17,9,23,30}
B.{25,23,30,17,21,5,9}
C.{21,9,17,30,25,23,5} D.{5,9,17,21,23,25,30}
27.快速排序方法在()情况下最不利于发挥其长处。
A.要排序的数据量太大
B.要排序的数据中含有多个相同值
C.要排序的数据个数为奇数
D.要排序的数据已基本有序
28.对n个记录进行希尔排序,所需要的辅助存储空间为()。
A.O(1og2n)
B.O(n)
C.O(1)
D.O(n2)
29.下列四个序列中,哪一个是堆()。
A.75,65,30,15,25,45,20,10
B.75,65,45,10,30,25,20,15
C.75,45,65,30,15,25,20,10
D.75,45,65,10,25,30,20,15
30.就排序算法所用的辅助空间而言,堆排序,快速排序,归并排序的关系是()
A.堆排序〈快速排序〈归并排序
B.堆排序〈归并排序〈快速排序
C.堆排序〉归并排序〉快速排序
D.堆排序 > 快速排序>归并排序
E.以上答案都不对