1-1把数组中元素按某种顺序排列的过程叫做查找 。 F
1-2将N个数据按照从小到大顺序组织存放在一个单向链表中。如果采用二分查找,那么查找的平均时间复杂度是O(logN)。 F
1-3在一棵二叉搜索树上查找63,序列39、101、25、80、70、59、63是一种可能的查找时的结点值比较序列。 F
1-4二叉搜索树的查找和折半查找的时间复杂度相同。F
1-5在散列中,函数“插入”和“查找”具有同样的时间复杂度。 T
1-6在散列表中,所谓同义词就是具有相同散列地址的两个元素。 T
1-7即使把2个元素散列到有100个单元的表中,仍然有可能发生冲突。T
1-8(neuDS)由顺序表和单链表表示的有序表均可使用二分查找法来提高查找速度。 F
1-9在散列表中,所谓同义词就是被不同散列函数映射到同一地址的两个元素。 F
2-1已知一个长度为16的顺序表L,其元素按关键字有序排列。若采用二分查找法查找一个L中不存在的元素,则关键字的比较次数最多是:B
A.4
B.5
C.6
D.7
2-2用二分查找从100个有序整数中查找某数,最坏情况下需要比较的次数是:A
A.7
B.10
C.50
D.99
2-3若在线性表中采用二分查找法查找元素,该线性表应该(C)。
A.元素按值有序
B.采用顺序存储结构
C.元素按值有序,且采用顺序存储结构
D.元素按值有序,且采用链式存储结构
2-4设有一个已排序的线性表(长度>=2),分别用顺序查找法和二分查找法找一个与K相等的元素,比较的次数分别是S和B,在查找不成功的情况下,S和B的关系是(D)。
A.S=B
B.S<B
C.S>B
D.S>=B
2-5在有n(n>1000)个元素的升序数组A中查找关键字x。查找算法的伪代码如下所示:
k = 0;
while ( k<n 且 A[k]<x ) k = k+3;
if ( k<n 且 A[k]==x ) 查找成功;
else if ( k-1<n 且 A[k-1]==x ) 查找成功;
else if ( k-2<n 且 A[k-2]==x ) 查找成功;
else 查找失败;
本算法与二分查找(折半查找)算法相比,有可能具有更少比较次数的情形是: B
A.当x不在数组中
B.当x接近数组开头处
C.当x接近数组结尾处
D.当x位于数组中间位置
2-6在散列表中,所谓同义词就是:B
A.两个意义相近的单词
B.具有相同散列地址的两个元素
C.被映射到不同散列地址的一个元素
D.被不同散列函数映射到同一地址的两个元素
2-7在下列查找的方法中,平均查找长度与结点个数无关的查找方法是:C
A.顺序查找
B.二分法
C.利用哈希(散列)表
D.利用二叉搜索树
2-8设散列表的地址区间为[0,16],散列函数为H(Key)=Key%17。采用线性探测法处理冲突,并将关键字序列{ 26,25,72,38,8,18,59 }依次存储到散列表中。元素59存放在