在对查找表的查找过程中,若被查找的数据元素不存在,则把该数据元素插到集合中。这种方式主要适合于( )。 A.静态查找表 B.动态查找表 C.静态查找表与动态查找表 D.两种表都不适合
对22个记录的有序表作折半查找,当查找失败时,至少需要比较( )次关键字。
A.3 B.4 C.5 D.6
已知一个有序表为(11,22,33,44,55,66,77,88,99),则折半查找元素55需要比较( )次。 A.1 B.2 C.3 D.4
当采用索引查找时,数据的组织方式为 ( )
A.数据分成若干块,每块内数据有序
B.数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大的数据和块起始地址组成索引块
C.数据分成若干块,每块内数据有序,每块内最大的数据及其起始地址组成索引块
D.数据分成若干块,每块(除最后一块外)中数据个数需相同
对n个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( )。
A.n B.(n+1)/2 C.(n-1)/2 D.n/2
链表适用于( )查找
A.顺序 B.折半 C.顺序或折半 D.随机
有一个按元素值排好序的顺序表(长度大于2),分别用顺序查找和折半查找与给定值相等的元素,比较次数分别是s和b,在查找失败的情况下,s和b的关系是( )
A.s=b
B.s<b
C.s>b
D.不确定
下列数据结构中能应用二分查找的是:()
A.有序线性链表 B.有序顺序表
C.顺序存储的栈 D.顺序存储的队列
适用于索引查找的表的元素排列要求为( )
A.块内有序,块间有序
B.块内无序,块间有序
C.块内有序,块间无序
D.块内无序,块间无序
若用二分查找取得的中间位置元素键值大于被查找值,则说明被查找值位于中间值的前面,下次的查找区间为从原开始位置至( )。 A.该中间位置 B.该中间位置-1 C.该中间位置+1 D.该中间位置/2
有一个按元素值排好序的顺序表(长度大于2),分别用顺序查找和折半查找与给定值相等的元素,比较次数分别是s和b,在查找成功的情况下,s和b的关系是( )
D.不一定
对22个元素的有序顺序表进行折半查找,当查找失败时,至少需要比较( )次关键字?
A. 3 B. 4 C. 5 D. 6
对含n个记录的顺序表进行顺序查找,在最坏情况下需要比较( )次。
A.n-1 B.n C.(n+1)/2 D.n(n-1)/2
适用于折半查找的表的存储方式及元素排列要求为( )。
A.链接方式存储,元素无序 B.链接方式存储,元素有序
C.顺序方式存储,元素无序 D.顺序方式存储,元素有序
对线性表进行二分查找的时候,要求线性表必须( )。 A.以顺序存储方式,且数据元素有序 B.以链接存储方式 C.以顺序存储方式 D.以链接存储方式,且数据元素有序
在顺序存储的线性表R[0‥29]上进行分块索引查找(设分为5块)的平均查找长度为( )。
A.6 B.11 C.5.5 D.6.5
折半查找有序顺序表(4, 6, 10, 12, 20, 30, 50, 70, 88, 100)。若待查找元素是58,则它将依次与有序表中的( )比较大小。
A. 20, 70, 30, 50 B. 30, 88, 70, 50 C. 20, 50 D. 30, 88, 50
在线性表的存储结构中,( )查找、插入和删除速度慢,但顺序存储和随机存取第i个元素速度快。 A.顺序表 B.链接表 C.散列表 D.索引表
A.顺序存储
B.顺序存储且结点关键字有序排列
C.链式存储
D.链式存储且结点关键字有序排列
在( )上查找、插人和删除速度快,但不能进行顺序存取。 A.顺序表 B.链接表 C.顺序有序表 D.散列表
在表长为n的单链表中进行顺序查找,其平均查找长度为( )
A. ASL=n B. ASL=(n+1)/2 C. ASL=(n-1)/2 D. ASL=lb(n+1)-1
有序顺序表上的折半查找和二叉排序树上的查找算法,两者的时间性能( )
A. 完全相同 B.完全不相同 C. 有时不相同 D. 数量级都是O(n)
已知一个有序表为 (11,22,33,44,55,66,77,88,99),则顺序查找元素55需要比较( )次。
A.3 B.4 C.5 D.6
采用顺序查找方式查找长度为n的线性表,平均查找长度为()
A n
B n/2
C(n+1)/2
D (n-1)/2
静态查找和动态查找的根本区别在于( )。
A.它们的逻辑结构不一样 B.施加在其上的操作不同
C.所包含的数据元素类型不一样 D.存储实现不一样
在以下数据结构中,( )的查找效率最低。
A.有序顺序表 B.二叉排序树 C.堆 D.散列表
在数据存放无规律的线性表中进行查找的最佳方法是( )
A. 顺序查找 B. 折半查找 C. 哈希查找 D. 索引查找
有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当折半查找值为82的结点时,( )次比较后查找成功。
A. 1 B. 2 C. 4 D. 8
A.(n-1)/2 B. n/2 C.(n+1)/2 D.n
对含n个记录的有序表进行折半查找,设每个记录的查找概率相等,则平均查找长度的数量级为( )
A.O(n) B.O(n2) C.O(log2n) D.O(1)
在( )上查找和存取速度快,但插入和删除速度慢。 A.顺序表 B.链接表 C.顺序有序表 D. 散列表
顺序查找法与二分查找法对存储结构的要求是( )。 A.顺序查找与二分查找均只是适用于顺序表 B.顺序查找与二分查找均既适用于顺序表,也适用于链表
C.顺序查找只是适用于顺序表 D.二分查找适用于顺序表
当n足够大时,在有序顺序表中进行折半查找,假设顺序表中每个元素的查找概率相同,则查找成功的平均查找长度为( )。
A.(n+1)/2 B.n/2 C.log2(n+1) - 1 D.log2(n+1)
对具有14个元素的有序表R[14]进行折半查找,查找R[3]时需要比较( )。
A.R[0]R[1]R[2]R[3] B.R[6]R[2]R[4]R[3]
C.R[0]R[13]R[2]R[3] D.R[6]R[4]R[2]R[3]
对有序表A[1..17]进行折半查找,则查找长度为5的元素下标依次是( )。
A.8, 17 B.5, 10, 12 C.9, 16 D.9, 17
折半查找判定树不属于( )。
A.平衡二叉树 B.二叉排序树 C.完全二叉树 D.二叉树
折半查找有序表(4,6,10,12,20,30,50,70,88)。若查找表中元素58,则它将依次与表中( )比较大小之后,得出查找结果是失败。
A.20,70,30,50 B.30,88,50,70
C.20,50,70 D.30,88,50
已知一个有序表为(11,22,33,44,55,66,77,88,99),则折半查找55需要比较()次。
A. 1
B. 2
C. 3
D. 4
已知有序表为(12,18,24,35,47,50,62,83,90,115,134),当用折半查找90时,需进行次查找可确定成功。
对线性表(18,25,63,50,42,32,90)进行哈希存储时,若选用H(K)=K % 9作为哈希函数,则哈希地址为0的元素有个,哈希地址为5的元素有个。
设在长度为20的有序表中进行二分查找,则比较一次查找成功的结点数有个,比较两次查找成功有结点数有个。
假定对线性表(38,25,74,52,48)进行哈希存储,采用H(K)=K % 7作为哈希函数,采用线性探测法处理冲突,则查找成功的平均查找长度为。
在线性表的哈希存储中,装填因子a又称为装填系数,若用m表示哈希表的长度,n表示线性表中的元素的个数,则a等于。
假定对长度n=50的有序表进行折半查找,则对应的判定树高度为,最后一层的结点数为。
以折半查找方法在一个查找表上进行查找时,该查找表必须组织成存储的表。
设查找表中有100个元素,如果用二分法查找方法查找数据元素X,则最多需要比较次就可以断定数据元素X是否在查找表中。
假定对线性表(38,25,74,52,48)进行哈希存储,采用H(K)=K % 7作为哈希函数,采用线性探测法处理冲突,则在建立哈希表的过程中,将会碰到次存储冲突。
假定一个顺序表的长度为40,并假定查找每个元素的概率都相同,则在查找成功情况下的平均查找长度,在查找不成功情况下的平均查找长度。
在索引查找中,假定查找表(即主表)的长度为96,被等分为8个子表,则进行索引查找的平均查找长度为。
若表中有10000个记录,采用分块查找时,用顺序查找确定记录所在的块,则分成块最好,每块的最佳长度,在这种情况下,查找成功的平均检索长度为。
下面程序段的功能是实现二分查找算法,请在下划线处填上正确的语句。
struct record{int key;int others;};
int bisearch(structrecord r[ ], int k)
{
int low=0,mid,high=n-1;
while(low<=high)
;
if(r[mid].key==k) return(mid+1);
else if() high=mid-1;
else low=mid+1;
}
return(0);
在有序表A[1..12]中,采用折半查找算法查等于A[12]的元素,所比较的元素下标依次为。
从有序表(12,18,30,43,56,78,82,95)中分别折半查找43和56元素时,其比较次数分别为和。
在顺序表(8,11,15,19,25,26,30,33,42,48,50)中,用二分(折半)法查找关键码值20,需做的关键码比较次数为次。
在各种查找方法中,数据元素的查找长度和结点个数n无关的查找方法是。
对有序表A[80]进行二分查找,则对应的判定树高度为,判定树前6层的结点个数为,最高一层的结点个数是,查找给定值K,最多与键值比较次。
在有序表A[30]上进行二分查找,则需要对键值进行4次、5次比较查找成功的记录个数分别为、,在等概率的情况下,查找成功的平均查找长度是。
已知带头结点的链表head,删除其中值为n的结点。第一行输入用于建立链表的数据(0表示建立结束,不包含在链表),第二行为原始链表输出,第三行为输入需要删除的n值,若n值存在于链表则删除,若不存在则显示错误。请在/******start******/和/******end******/注释之间完成删除操作的函数。
输入一组数(不超过20个数),完成折半查找,并计算查找该数所花费的比较次数,第1、3、5、7行为提示信息,第2行输入总元素个数,第4行输入各元素的值,第6行输入需要查找的数据,第8行为输出(标点使用半角逗号)。
试补充完成一个折半查找的程序,需要对输入序列是否有序(升序)进行判断,若输入序列无序,错误提示。若查找的数存在,则返回其为位置,不存在则错误提示。请在/******start******/和/******end******/之间补充完程序。图1-3行为输入,第5行为输出。(注:标点符号均是半角)?xml:namespace>