《数据结构与算法》三.docx
《《数据结构与算法》三.docx》由会员分享,可在线阅读,更多相关《《数据结构与算法》三.docx(22页珍藏版)》请在冰豆网上搜索。
《数据结构与算法》三
《数据结构与算法》三
您的姓名:
[填空题]*
_________________________________
一、单选题
1.散列表的地址区间为0-17,散列函数为H(K)=Kmod17。
采用线性探测法处理冲突,并将关键字序列43,42,89,55,25,35,76依次存储到散列表中。
则元素76存放在散列表中的地址是( ).[单选题]*
A.9
B.11(正确答案)
C.10
D.8
2.将5个元素散列到200000个单元的哈希表中,则()产生冲突。
[单选题]*
A.仍可能会(正确答案)
B.一定不会
C.一定会
D.以上答案均不对
3.一组长度为11的整型关键字为{22,32,23,45,54,56,65,76,78,89,100},通过哈希函数H(key)=keyMOD11映射到长度为11的哈希表中,装填因子为().[单选题]*
A.1(正确答案)
B.2
C.3
D.4
4.对包含n个元素的散列表进行查找,时间度杂度为().[单选题]*
A.O(n*n)
B.O(log2n)
C.O(n)
D.不直接依赖于n(正确答案)
5.冲突指的是().[单选题]*
A.两个元素具有相同序号
B.两个元素的键值不同
C.不同键值对应相同的存储地址(正确答案)
D.两个元素的键值相同
6.在哈希表里,装填因子的计算公式为().[单选题]*
A.填入记录数/哈希表的长度(正确答案)
B.1-(表中填入的记录数/哈希表的总长度)
C.哈希表未填空白处/哈希表的长度
D.以上都不正确
7.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若使用H(K)=K%9作为散列函数,则散列地址为1的元素有( )个。
[单选题]*
A.1
B.2
C.3
D.4(正确答案)
8.哈希表长为16,散列函数H(key)=key%11,表中已有的关键字为26,49,72,95共4个,将60的结点装入表中,用二次探测再散列法解决冲突,位置是()。
[单选题]*
A.8
B.9(正确答案)
C.5
D.3
二、多选题
9.下面属于构造哈希函数的方法是().*
A.直接定址法(正确答案)
B.数字分析法(正确答案)
C.除留余数法(正确答案)
D.平方取中法(正确答案)
10.使用再哈希法的特点有().*
A.在同义词产生地址冲突时计算另一个哈希函数的地址,直到冲突不再发生(正确答案)
B.这种方法不易产生“聚集”(正确答案)
C.该方法增加了计算的时间(正确答案)
D.该方法呈线性探测再散列
11.关于哈希表的装填因子,以正确的有().*
A.装填因子的值越小,发生冲突的概率越小(正确答案)
B.装填因子越大,表中填入的记录越多,在填入的时候发生冲突的可能性就越大,在进行查找时候,查找的次数也就越多。
(正确答案)
C.装填因子=表中填入的记录数/哈希表的总长度(正确答案)
D.装填因子的值越小,就可以避免冲突的发生
12.在哈希表进行查找时,以下不是解决冲突的方法包括().*
A.数字分析法(正确答案)
B.除留余数法(正确答案)
C.直接地址法(正确答案)
D.线性探测再散列法
13.属于处理哈希冲突的主要方法是().*
A.开放定址法(正确答案)
B.再哈希法(正确答案)
C.除留余数法
D.直接定址法
三、判断题
14.哈希表的一个重要参数——装填因子,它反映哈希表的装满程度。
().[单选题]*
A.对(正确答案)
B.错
15.哈希函数是根据关键字确定存储位置的函数。
().[单选题]*
A.对(正确答案)
B.错
16.哈希冲突是不同关键字由哈希函数得到相同存储位置的现象。
().[单选题]*
A.对(正确答案)
B.错
17.哈希法的查找效率主要取决于哈希表构造时选取的哈希函数和处理冲突的方法。
().[单选题]*
A.对(正确答案)
B.错
18.哈希表是一种将关键字转换为存储地址的存储方法。
().[单选题]*
A.对(正确答案)
B.错
19.选择好的哈希函数就可以避免冲突的发生。
().[单选题]*
A.对
B.错(正确答案)
20.散列存储法的基本思想是由关键字的值决定数据的存储地址。
().[单选题]*
A.对(正确答案)
B.错
一、单选题
1.下列()不是利用查找表中数据元素的关系进行查找的方法。
.[单选题]*
A.平衡二叉树
B.有序表的查找
C.散列查找(正确答案)
D.二叉排序树的查找
2.数据结构与算法中,假定有k个关键字互为同义词,若用线性探测法把这k个关键字存入散列表中,至少要进行多少次探测?
()。
[单选题]*
A.k-1次
B.k次
C.k+1次
D.k(k+1)/2次(正确答案)
3.一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当二分查找值为82的结点时,()次比较后查找成功.[单选题]*
A.2
B.3
C.4(正确答案)
D.5
4.二分查找有序表{4,6,10,12,20,30,50,70,88,100},若查找表中元素58,则它将依次与表中()比较大小,查找结果是失败.[单选题]*
A.30,88,70,50
B.20,70,30,50(正确答案)
C.20,50
D.30,88,50
5.设哈希表长m=14,哈希函数H(key)=key%11。
表中已有4个结点:
addr(15)=4,addr(38)=5,addr(61)=6,addr(84)=7,其余地址为空。
如用二次探测再散列处理冲突,关键字为49的结点的地址是().[单选题]*
A.8
B.3
C.5
D.9(正确答案)
6.有一个长度为12的有序表,按折半查找法对其进行查找,在表内各元素等概率情况下查找成功所需的平均比较次数为().[单选题]*
A.35/12
B.37/12(正确答案)
C.39/12
D.43/12
7.理想情况下,在散列表中查找一个元素的时间复杂度为:
().[单选题]*
A.O(n)
B.O(n*n)
C.O(log2n)
D.O
(1)(正确答案)
8.在关键字序列(7,10,12,18,28,36,45,92)中,用二分查找关键字92,要比较( )次才找到.[单选题]*
2
3
4(正确答案)
5
二、多选题
9.装填因子的计算方法不是().*
A.1-(表中未填入记录的数目/哈希表的总长度)
B.表中未填入记录的数目/哈希表的总长度(正确答案)
C.(表中未填入的记录数-1)/哈希表的总长度(正确答案)
D.表中填入的记录数/哈希表的总长
10.哈希表的查找效率取决于().*
A.哈希函数(正确答案)
B.处理冲突的方法(正确答案)
C.哈希表的装填因子(正确答案)
D.无正确答案
11.设散列表(哈希表)中有m个存储单元,散列函数H(key)=key%p,则p不要选择().*
A.小于等于m的最大奇数(正确答案)
B.小于等于m的最大素数
C.小于等于m的最大偶数(正确答案)
D.小于等于m的最大合数(正确答案)
12.二叉排序树的叶子结点个数为8个,则度为2的结点的数目不是().*
A.5(正确答案)
B.6(正确答案)
C.7
D.8(正确答案)
13.下列选项中说法不正确的是().*
A.二叉排序树可以含有0个结点,这时它是一棵空二叉排序树
B.二叉排序树可以含有0个结点,这时它是一棵满二叉排序树(正确答案)
C.二叉排序树可以含有0个结点,这时它是一棵完全二叉排序树(正确答案)
D.无正确答案(正确答案)
三、判断题
14.折半查找法要求待查表的关键字值必须有序。
().[单选题]*
A.对(正确答案)
B.错
15.对有序表而言采用折半查找总比采用顺序查找法速度快。
().[单选题]*
A.对
B.错(正确答案)
16.二叉排序树是一种静态查找表。
().[单选题]*
A.对
B.错(正确答案)
17.哈希表是按散列存储方式构造的存储结构。
().[单选题]*
A.对(正确答案)
B.错
18.在哈希函数H(key)=key%P中,P一般应取偶数。
().[单选题]*
A.对
B.错(正确答案)
19.对二叉排序树进行查找的方法是用待查的值与根结点的键值进行比较,若比根结点小,则继续在右子树中查找。
().[单选题]*
A.对
B.错(正确答案)
20.对于长度为n的线性表,若采用折半查找,则时间复杂度为:
O(log2n)。
().[单选题]*
A.对(正确答案)
B.错
一、单选题
1.排序算法一般是根据()的大小,重新安排各元素的顺序.[单选题]*
A.数组
B.关键字(正确答案)
C.元素件
D.结点
2.有22个待排记录,使用直接插入排序需要()趟能完成全部排序.[单选题]*
A.21(正确答案)
B.22
C.20
D.都不对
3.下列选项中关于稳定排序说法正确的是().[单选题]*
A.稳定排序是指对于关键字相等的记录,排序前后相对位置不变(正确答案)
B.稳定排序是指对于关键字相等的记录,排序前后相对位置可以变化
C.稳定排序是指排序是指将记录变成无序的
D.无正确答案
4.希尔排序与直接插入排序相同之处是().[单选题]*
A.它们都是稳定排序
B.它们的时间复杂度是一样的
C.它们都是插入排序大类里的(正确答案)
D.它们都是缩小增量排序
5.在直接插入排序的算法中,要求被排序的数据()存储.[单选题]*
A.必须链表
B.必须顺序(正确答案)
C.顺序或链表
D.可以任意
6.用直接插入排序法对下面的四个序列进行由小到大的排序,元素比较次数最少的是().[单选题]*
A.94,32,40,90,80,46,21,69
B.21,32,46,40,80,69,90,94(正确答案)
C.32,40,21,46,69,94,90,80
D.90,69,80,46,21,32,94,40
7.内排序是指在排序的整个过程中,全部数据都在计算机的()中完成的排序.[单选题]*
A.内存(正确答案)
B.外存
C.内存和外存
D.寄存器
8.数据结构与算法里,直接插入排序的稳定性().[单选题]*
A.是不稳定排序
B.是稳定排序(正确答案)
C.有时是稳定的,有时不稳定
D.以上说法都不对
二、多选题
9.希尔排序属于().*
A.稳定排序
B.不稳定排序(正确答案)
C.选择排序
D.插入排序(正确答案)
10.排序分为:
()、选择排序、()、归并排序四大类排序().*
A.交换排序(正确答案)
B.堆排序
C.希尔排序
D.插入排序(正确答案)
11.以下属于插入排序类的排序有().*
A.冒泡排序
B.直接插入排序(正确答案)
C.堆排序
D.希尔排序(正确答案)
12.算法中,如果按照待排记录是否全部在内存中,排序可分为().*
A.内排序(正确答案)
B.外排序(正确答案)
C.归并排序
D.交换排序
13.按照排序中具有相同关键字的记录在排序前后的相对位置是否发生改变,排序分为().*
A.内排序
B.外排序
C.稳定排序(正确答案)
D.不稳定排序(正确答案)
三、判断题
14.直接插入排序,在排序里属于稳定排序。
().[单选题]*
A.对(正确答案)
B.错
15.在排序算法中,希尔排序算法是不稳定排序。
().[单选题]*
A.对(正确答案)
B.错
16.大多数排序算法都有两个基本的操作:
比较和移动。
().[单选题]*
A.对(正确答案)
B.错
17.排序分类中,只有内排序,没有外排序。
().[单选题]*
A.对
B.错(正确答案)
18.如果某种排序算法不稳定,则该排序方法就没有实用价值。
().[单选题]*
A.对
B.错(正确答案)
19.算法中,实现直接插入排序可以使用循环语句。
().[单选题]*
A.对(正确答案)
B.错
20.外排序是指在排序过程中,数据的主要部分存放在计算机的内存中。
().[单选题]*
A.对
B.错(正确答案)
一、单选题
1.数据结构与算法里,编写快速排序算法可以用()方式实现.[单选题]*
A.插入
B.选择
C.递归(正确答案)
D.都不对
2.快速排序在()情况下,不利于发挥其长处.[单选题]*
A.完全乱序
B.基本有序(正确答案)
C.杂乱无章
D.都不对
3.快速排序在()情况下,最易发挥其长处.[单选题]*
A.待排序的数据中含有多个相同的关键字
B.待排序的数据已基本有序
C.待排序的数据完全无序(正确答案)
D.待排序的数据中最大值与最小值相差悬殊
4.一趟()最后要返回中轴所在的位置,然后将小的移动到它的左边,将大的移动到它的右边.[单选题]*
A.快速排序(正确答案)
B.直接插入排序
C.冒泡排序
D.都不对
5.从排序的稳定性来看,快速排序是().[单选题]*
A.稳定排序
B.不稳定排序(正确答案)
C.不确定
D.都不对
6.快速排序的方法是()的排序方法.[单选题]*
A.稳定
B.不稳定(正确答案)
C.外部
D.选择
7.冒泡排序的方法对n个数据进行排序,第一趟排序共需要比较()次.[单选题]*
A.1
B.2
C.n-1(正确答案)
D.n
8.对n个不同的排序码进行冒泡(递增)排序,在下列()情况比较的次数最多().[单选题]*
A.从小到大排列好的
B.从大到小排列好的(正确答案)
C.元素无序
D.元素基本有序
9.一个数据序列的关键字为:
(46,79,56,38,40,84),采用快速排序,并以第一个数为基准得到第一次划分的结果为:
( )。
[单选题]*
(38,40,46,56,79,84)
(38,40,46,79,56,84)
(40,38,46,56,79,84)(正确答案)
(40,38,46,79,56,84)
10.快速排序属于交换排序,它的时间复杂度是().[单选题]*
A.O(n*n)
B.O(nlog2n)(正确答案)
C.O
(1)
D.都不对
二、多选题
11.数据结构与算法中,排序可以分为四大类,主要包含().*
A.交换排序(正确答案)
B.插入排序(正确答案)
C.选择排序(正确答案)
D.归并排序(正确答案)
12.以下属于交换排序类的排序有().*
A.冒泡排序(正确答案)
B.直接插入排序
C.快速排序(正确答案)
D.希尔排序
13.以下算法的平均时间复杂度为O(n*n)的有().*
A.冒泡排序(正确答案)
B.直接插入排序(正确答案)
C.快速排序
D.希尔排序
14.以下算法属于不稳定排序的有().*
A.冒泡排序
B.直接插入排序
C.快速排序(正确答案)
D.希尔排序(正确答案)
15.已知数据序列{17,18,60,40,7,32,73,65,85}采用冒泡排序法对该序列作升序排序时第一趟的结果不是().*
A.17184073260657385
B.17184077332606585(正确答案)
C.17401873260657385(正确答案)
D.17184073260658573(正确答案)
三、判断题
16.以稳定性来划分,冒泡排序是不稳定的排序。
().[单选题]*
A.对
B.错(正确答案)
17.对n个记录的进行快速排序,所需要的平均时间是O(nlog2n)().[单选题]*
A.对(正确答案)
B.错
18.当待排序的元素个数很多时,为了交换元素的位置要占用较多的时间,这是影响时间复杂度的主要因素。
().[单选题]*
A.对(正确答案)
B.错
19.快速排序在任何情况下都比其它排序方法速度快。
().[单选题]*
A.对
B.错(正确答案)
20.对快速排序来说,初始序列为正序或反序都是最坏情况。
().[单选题]*
A.对(正确答案)
B.错
一、单选题
1.对于200个记录,进行简单选择排序,每趟最多进行()次交换.[单选题]*
A.1(正确答案)
B.2
C.200
D.199
2.下述几种排序方法中,平均时间复杂度最小的是().[单选题]*
A.希尔排序(正确答案)
B.选择排序
C.插入排序
D.冒泡排序
3.下列排序方法中,关键字比较的次数与记录的初始排列次序无关的是().[单选题]*
A.希尔排序
B.选择排序(正确答案)
C.插入排序
D.冒泡排序
4.排序方法中,从无序序列中选择关键字最小的记录,将其与无序区(初始为空)的第一个记录交换的排序方法,称为().[单选题]*
A.归并排序
B.插入排序
C.选择确定(正确答案)
D.希尔排序
5.下述几种排序方法中,要求内存量最大的是:
().[单选题]*
A.归并排序(正确答案)
B.插入排序
C.选择确定
D.快速排序
6.10个记录进行简单选择排序,需要()趟排序。
[单选题]*
A.9(正确答案)
B.8
C.10
D.11
7.一组记录的排序码为(25,48,16,35,79,82,23,40),其中含有4个长度为2的有序表,按归并排序的方法对该序列进行一趟归并后的结果为:
().[单选题]*
A.1625354823407982(正确答案)
B.1625354879822340
C.1625483579822340
D.1625354879238240
8.对于n个记录的集合进行归并排序,所需要的平均时间复杂度为:
().[单选题]*
A.O(n)
B.O(log2n)
C.O(nlog2n)(正确答案)
D.O(n*n)
二、多选题
9.简单选择排序的平均时间复杂度不是().*
A.O(n)(正确答案)
B.O(n*n)
C.O(nlog2n)(正确答案)
D.O
(1)(正确答案)
10.下列选项中关于选择排序的思想描述不正确的是().*
A.选择最小的记录放在第一个位置,在剩余记录中选择最小的放在第二个位置,以此类推。
B.选择第一个记录做中轴,将比它小的移到它左边,将比它大的留在右边。
(正确答案)
C.将第一个记录看成有序的,从第二个记录开始逐一插入到前面的有序序列中。
(正确答案)
D.无正确答案(正确答案)
11.下列排序中属于不稳定排序的有().*
A.冒泡排序
B.希尔排序(正确答案)
C.快速排序(正确答案)
D.简单选择排序(正确答案)
12.下列序列不可能是简单选择排序(从小到大)一趟排序后的结果的是().*
A.112345783654
B.756211121388(正确答案)
C.18171925424443(正确答案)
D.151113141210(正确答案)
13.N个记录进行简单选择排序,需要排序的趟数不是().*
A.N(正确答案)
B.N+1(正确答案)
C.N-1
D.N-2(正确答案)
三、判断题
14.选择排序包括简单选择排序。
().[单选题]*
A.对(正确答案)
B.错
15.采用归并排序可以实现外排序。
().[单选题]*
A.对(正确答案)
B.错
16.简单选择排序的时间复杂度是O(n)。
().[单选题]*
A.对
B.错(正确答案)
17.在插入排序和选择排序中,若初始数据基本正序,则选用选择排序比较好。
().[单选题]*
A.对
B.错(正确答案)
18.对于n个记录的集合进行归并排序,所需要的附加空间是O(n)。
().[单选题]*
A.对(正确答案)
B.错
19.简单选择排序是不稳定排序().[单选题]*
A.对(正确答案)
B.错
20.在进行简单选择排序过程中,每趟排序可能出现多次的记录交换。
().[单选题]*
A.对
B.错(正确答案)