数据结构与算法知识题库与答案.pdf
《数据结构与算法知识题库与答案.pdf》由会员分享,可在线阅读,更多相关《数据结构与算法知识题库与答案.pdf(64页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构与算法知识题库与答案L冒泡排序的每一趟的过程是要比较()元 素,如果逆序进行交换(单选题*A相邻VB都不对C不相邻D首尾2.冒泡排序要使用()语句判断两个相邻元素是否是逆序(单选题*A forB do-whileC whileD ifV3.如果待排序序列是完全有序的,使用改进的冒泡排序,只需要()趟排序(入 单选题*A三B四C-VD 二4.以下序列,采用优化的冒泡排序从小到大排序,排序I:匕较次数最少的是()。单选题A 34,9,23,87,52,11B 23,98,17,33,71,2C 12,23,87,33,38,46VD 91,23,67,19,61,995.冒泡排序要使用()
2、语句来完成排序(X 单选题*A forVB do-whileC whileD if6.N个记录使用优化的冒泡排序最少需要()趟排序,可以完成排序(I 单选题*A IVB N-1C ND N-27.若用冒泡排序方法对序列 10,14,26,29,41,52从大到小排序,需进行()次比较(单选题*A3B 10C 15VD 258.下列选项中说法正确的是(单选题*A冒泡排序是使用循环嵌套来完成算法的VB冒泡排序是使用单层循环来完成算法的C无正确答案D冒泡排序是使用三重循环来完成算法的9.8个元素 23,9,12,7,87,11,62,33采用优化的冒泡排序需要排序()趟(单选题*A3B4VC 5D6
3、10.6个元素 2,7,98,12,44,56采用优化的冒泡排序,总共需要匕瞰()次(X 单选题*A 1B 5C9VD 1511.关于递归算法,以下说法错误的是(I 单选题*A递归必须有结束条件B递归次数太多会导致内存溢出C递归就是指在一个方法的内部调用自身的过程D递归可以调用无数次,只要有结束条件就可以。V12.冒泡排序要使用()语句判断两个相邻元素是否是逆序(1 单选题*A forB do-whileC whileD ifV13.N个记录使用优化的冒泡排序最少需要()趟排序,可以完成排序(X 单选题*A IVB N-lC ND N-214.斐波那契数列数列的第6 项值是(X 单选题*A 5
4、B8VC 13D2115.青蛙跳河问题中,假设有3 个石柱,5 个荷叶,则问最多可以跳过去()只青蛙(X 单选题*A 24B40C 48VD6216.青蛙跳河问题中,假设有1 个石柱,1 个荷叶,则问最多可以跳过去()只青蛙(工 单选题*A2B 3C4VD 517.61=(X 单选题*A 240B 360C480D720V18.青蛙跳河问题中,假设有5个石柱,0个荷叶,则问最多可以跳过去()只青蛙(X 单选题*A 30B 31C32VD3319.以下哪个数列可以使用递归完成算法(X 单选题*A 1 1 3 3 7 2 9 8B 1 3 5 6 8 21 32C 1 1 4 10 28 76VD
5、 1 2 8 32 77 9120.汉诺塔中,有3个盘子,需要移动()步(X 单选题*A3B 5C7VD 921.某些排序存在不相邻记录之间的交换,因此是不稳定排序,以下是不稳定的排序是)。单选题*A.快速排序VB.冒泡排序C.直接插入排序D.都不对22.一趟快速排序是选择一个中轴,将小于中轴位置记录的调到它的左边,大于的调到它的(1 单选题*A.右边VB.左边C.两边D.都不对23.快速排序可以优化,优化的点就是选取更加合适的(单选题*A.中轴VB.位置C.大小D.都不对24.从排序的大类上看,快速排序与冒泡排序是()排 序(单选题*A.同一类VB.不同类C.不确定D.都不对25.从算法的时
6、间复杂度来看,O(nlog2n)是哪种排序的时间复杂度(单选题*A.快速排序VB.直接插入排序C.简单选择排序D.冒泡排序26.一趟快速排序最后要返回(单选题*A.中轴所在的位置VB.最大元素C.最小元素D.都不对27.快速排序过程中存在()记录之间的交换,所以是不稳定排序(单选题*A.不相邻VB相邻C.不确定D 都不对28.快速排序与冒泡排序是0排 序(单选题*A.同一类VB.不同类C.不确定D.都不对29.快速排序和直接插入的排序的时间复杂是()的。()单选题*A.不一样VB.一样C.不确定D.都不对30.一趟快速排序是将记录一分为(),返回中轴所在的位置(X 单选题*A.ZZVB.三C.
7、四D.都不对31.快速排序属于(单选题*A.插入排序B.选择排序C.交换排序VD.归并排序32.快速排序的时间复杂度是(X 单选题*A.O(n*n)B.O(nlog2n)VC.O(1)D.都不对33.快速排序是(单选题*A.不稳定排序VB.稳定排序C.不确定D都不对34.冒泡排序和()都属于交换排序(单选题*A.快速排序VB.直接插入排序C.简单选择排序D.都不对35.O(nlog2n)是哪种排序的时间复杂度(入 单选题*A.快速排序VB.直接插入排序C.简单选择排序D.冒泡排序36.写快速排序可以用()方式实现(X 单选题*A插入B.递归VC.选择D.都不对37.从时间复杂度的角度来看,快速
8、排序的时间复杂度是(I 单选题*A.O(n*n)B.O(nlog2n)VC.O(l)D.都不对38.从排序的稳定性来看,快速排序是(单选题*A.不稳定排序VB.稳定排序C.不确定D.都不对39.快速排序在()情况下,不利于发挥其长处(X 单选题*A.完全乱序B.基本有序VC.倒序排放D.都不对40.快速排序是()的一种(单选题*A.插入排序B.选择排序C.交换排序VD.归并排序41.快速排序的第一趟排序可以确定()个记录的最终位置(X 单选题*A.3B.2C.1VD.442.一趟()最后要返回中轴所在的位置,然后将小的移动到它的左边,将大的移动到它的右边(1 单选题*A.快速排序VB.直接插入
9、排序C.冒泡排序D.都不对43.0(n*n)是以下哪种算法的复杂度(入*A直接插入排序VB顺序直找C冒泡排序VD折半查找44.以下是稳定排序的排序有(*A直接插入排序VB希尔排序C冒泡排序VD优化的冒泡排序V45.排序分为哪些大类(*A插入排序VB选择排序VC交换排序VD归并排序V46.()和()都属于交换排序(*A简单选择排序B冒泡排序VC快速排序VD直接插入排序47以下待排序列从大到小排序,排序趟数相同的是(X *A 23,11,45,78,91,100VB 23,98,12,8,99,19C 1,2,3,4,5,6VD 11,27,33,29,86,99V48.冒泡排序属于(X*A.稳定
10、排序VB.不稳定排序C.插入排序D.交换排序V49.以下选项可以作为次关键字的(*A学号B姓名VC成绩VD性别V50.以下排序,时间复杂度相同的(*A直接插入排序VB希尔排序C冒泡排序VD优化的冒泡排序V51.以下排序算法,比较次数与待排序列初始化有关的(*A直接插入排序VB希尔排序VC冒泡排序D优化的冒泡排序。52.以下属于交换排序类的排序(X *A冒泡排序VB直接插入排序C快速排序VD希尔排序53.0(n*n)是以下哪种算法的复杂度(工*A直接插入排序VB顺序查找C冒泡排序VD折半查找54.以下是稳定排序的排序有(X *A直接插入排序VB希尔排序C冒泡排序VD优化的冒泡排序V55.排序分为
11、哪些大类(1*A插入排序VB选择排序VC交换排序,D归并排序V56.冒泡排序属于(1*A.稳定排序VB.不稳定排序C.插入排序D.交换排序V57.以下使用递归可以实现的(1*A.n!VB.青蛙跳河VC.斐波那契数列VD.汉诺塔V58.青蛙跳河游戏中,假设有2 个荷叶,2 个石柱,可以跳过去的青蛙的数量可以是(XA.8VB.10VC.12VD.1459.以下应用使用递归的(*A.八皇后问题VB.背包问题VC.荷兰国旗VD.迷宫问题V60.属于交换排序的有(*A:冒泡排序VB:快速排序VC:希尔排序D:直接插入排序61.冒泡排序按照各种分类可以是(X*A:稳定排序VB:交换排序VC:内排序VD:以
12、上答案都正确V62.30个记录的序列进行冒泡排序,则有可能(X*A:29次匕啜就完成排序VB:进 行 29趟排序才结束排序VC:不能完成排序D:可 能 10趟就结束了排序。V63.()和()都属于交换排序(1*A.快速排序VB.直接插入排序C.简单选择排序D.冒泡排序V64.下列排序中是稳定排序的是(X*A.希尔排序B.快速排序C.直接插入排序VD.冒泡排序V65.快速排序的特性描述正确的是(I*A.快速排序是稳定排序B.快速排序不稳定排序VC.快速排序的时间复杂度是O(nlog2n)VD.快速排序的时间复杂度是O(n*n)66.关于快速排序描述不正确的是(X*A.快速排序是稳定排序VB.快速
13、排序的时间复杂度是O(nlog2n)C.快速排序不存在不相邻的记录之间的交换VD.快速排序的时间复杂度是O(n*n)V67.以下的排序是内排序的是(I*A.希尔排序VB.快速排序VC.希尔排序VD.快速排序V68.下列排序中是不稳定排序的是(X*A.希尔排序VB.快速排序VC.希尔排序VD.快速排序V69.稳定排序是排序前后不同关键字的记录相对位置不变。判断题对错V70.优化的冒泡排序的时间复杂度和数组的初始排序有关。判断题*对V错71.冒泡排序的时间复杂度是O(n*n),而直接插入排序的时间复杂度是O(n)。判断题*对错V72.冒泡排序在一趟排序中没有记录交换,则说明记录已经有序,停止排序。
14、判断题*对V错73.冒泡排序需要上匕较不相邻元素之间的大小,以便交换。判断题*对错V74.冒泡排序是不稳定的排序。判断题*对错V75.冒泡排序优化算法中需要使用一个标识变量,来判断一趟排序中是否有数据发生交换。判断题*对V错76.对于一组待排序列是升序序列的元素,排序成从小到大的序列,则排序的趟数为0。判断题*对错V77.稳定排序是排序前后相同关键字的记录相对位置变化。判断题*对错V78.稳定排序是排序前后不同关键字的记录相对位置不变。判断题*对错V79.递归的基本思想是把规模小的问题转化为规模大的相似的子问题来解决。(错)单选题*80以(50,30,40,15,70,60,90)关键字进彳翎
15、态查找,生成二叉排序树,则二叉排序树的右子树的根结点是9 0.(错R81.哈希表的装填因子a的值在0-1之间。判断题*对V错82.直接插入排序有40个记录,其最坏情况比较39次。判断题*对错V83.希尔排序是缩小增量排序,增量序列对时间复杂度是无影响的。判断题*对错V84.若哈希表的装填因子a 1,则可避免冲突的产生。判断题*对错V85.折半查找的速度总是比顺序查找要快,因为折半查找的时间复杂度低,是对数级的。判断题*对错V86.哈希表的装填因子越大越好,这样能尽可能小的发生冲突。判断题*对错V87.快速排序在记录已经基本有序时,不利于发挥其优势。判断题*对V错88.稳定排序是指排序前后相同关
16、键字的记录相对位置不变。判断题*对V错89.冒泡排序与快速排序都是交换排序。判断题*对V错90.交换排序是通过记录之间的交换达到排序的目的。(判断题*对V错91.快速排序的时间复杂度是O(nlog2n)。判断题*对V错92.快速排序是不稳定排序。判断题*对V错93.快速排序的时间复杂度是O(n*n)o 判断题*对错V94.快速排序在记录越杂乱无章的情况下,越能发挥其优势。对V错95.从排序的稳定性上讲,快速排序是稳定排序。判断题*对错V96.从排序的稳定性上讲,快速排序是不稳定排序。判断题对V错97.快速排序的时间复杂度是O(n)o 判断题*对 判断题*错V98.快速排序的时间复杂度是O(lo
17、g2n)o 判断题*对错V99.冒泡排序与快速排序都是插入排序。判断题*对错V100.稳定排序是指排序前后不同关键字的记录相对位置不变。判断题*对错VB1.以下数据结构中,()是非线性数据结构。()单选题*A.树VB.字符串C.队列D.栈2.在线性表中,除了开始元素外,每个元素(单选题*A.只有唯一的前趋元素VB.只有一个后继元素C.有多个前趋元素D.有多个后继元素3.在度为n 的顺序表中,删除第i 个元素(l=iP;P-next=LB.P-next=L;L=PC.P-next=L-next;L-next=PVD.P-next=L;P=L5.下列算法的时间复杂度是(Xfor(i=l;i0),空
18、链域的个数为(I 单选题*A.2m-1B.m-1C.m+IVD.2m+121循环队列是空队列的条件是(X 单选题*A.Q-rear=Q-frontVB.(Q-rear+1)%maxsize=Q-frontC.Q-rear=0D.Q-front=022.利用二叉链表存储树,则根结点的右指针是()单选题*A.指向左孩子B.指向右孩子VC.空D.非空23.一个栈的进栈序列为a,b,c,d,e,则出栈顺序不可能是(X 单选题*A.edcbaB.decbaC.dceabVD.abcde24.栈结构通常采用的两种存储结构是(单选题*A.线性存储结构和链表存储结构VB.散列方式和索引方式C.链表存储结构和数
19、组D.线性存储结构和非线性存储结构25.一个队列的进队序列是123,4,则该队列的出队序列是(单选题*A.4,3,2,1B.1,2,3,4VC.1,4,3,2D.3,2,4,126.栈和队列的共同点是(单选题*A.都是先进后出B.都是先进先出C.只允许在端点处插入和删除元素VD.没有共同点27.在具有n个单元的循环队列中,队满时共有()个元素。()单选题*A.nB.n-lVC.n-2D.n+128.一个递归算法必须包括(单选题*A.递归部分B.终止条件和递归部分VC.迭代部分D.终止条件和迭代部分29.输入序列为ABC,可以变为CBA时,经过的栈操作为(单选题*A.push,pop,push,
20、pop,push,popB.push,push,push,pop,pop,popVC.push,push,pop,pop,push,popD.push,pop,push,push,pop,pop30.在下列存储形式中,哪一个不是树的存储形式?()单选题*A.双亲表小法B.孩子链表表示法C.孩子兄弟表示法D.顺序存储表示法V31.设给定权值总数有n 个,其哈夫曼树的结点总数为()单选题*A.不确定B.2nC.2n+lD.2n-lV32.设森林F 中有三棵树,第 一,第 二,第三棵树的结点个数分别为M l,M 2和 M3。与森 林 F对应的二叉树根结点的右子树上的结点个数是()单选题*A.M lB
21、.M1+M2C.M3D.M2+M3V33.一棵有n 个结点的树的所有结点的度数之和是(1 单选题*A.nB.n-lVC.n+1D.2n34.由二叉树的()遍 历,可以惟一确定一棵二叉树。()单选题*A.前序和后序B.前序和中序VC.后序D.中序35.已知一棵二叉树的先序遍历序列为EFHIGJK,中序遍历序列为HFIEJGK,则该二叉树根的右子树的根是()单选题*A.EB.FC.GVD.J36.五个结点可以构成()种不同形状的二叉树。()单选题*A.41B.42VC.43D.4537.设无向图的顶点个数为n,则该图最多有()条边。()单选题*A.n-1B.n(n-l)/2VC.n(n+l)/2D
22、.n*n38.在一个无向图中,所有顶点的度数之和等于所有边数()倍,在一个有向图中,所有顶点的入度之和等于所有顶点出度之和的()倍。()单选题*A.2,1VB.1,2C.1,1D.2,2*39.下列哪一种图的邻接矩阵是对称矩阵?()单选题A.有向图B.无向图VC.AOV网D.AOE 网40.无向图 G=(V,E),其 中:V=a,b,c,d,e,f,E=(a,b),(a,e),(a,c),(b,e),(c,f),(f,d),(e,d),对该图进行深度优先遍历,得到的顶点序列正确的是()单选题*A.a,b,e,c,d,fB.a,c,f,e,b,dC.a,e,b,c,f,dD.a,e,d,f,c,
23、bV4 1.设图如上所示,在下面的5个序列中,符合深度优先遍历的序列有多少?()a e b d fc a c fd e b a e d f c b a e f d c b a e f d b c 单选题*A.5个B.4个C.3个D.2 个V42.最小生成树指的是()单选题*A.由连通图所得到的边数最少的生成树B.由连通图所得到的顶点相对较少的生成树C.连通图的所有生成树中权值之和最小的生成树VD.连通图的极小连通子图43.图的广度优先搜索遍历类似于树的()单选题*A.先序遍历B.中序遍历C.后序遍历D.层次遍历V44.最小生成树的构造可使用()单选题*A.prim 算法VB.冒泡算法C.迪杰斯
24、特拉算法D.哈夫曼算法45.静态查找表与动态查找表两者的根本差别在于()单选题*A.逻辑结构不同B.存储实现不同C.施加的操作不同VD.数据元素的类型不同46.使用折半查找,线性表必须()单选题*A.以顺序方式存储B.以链式方式存储,且元素已按值排好序C.以链式方式存储D.以1 1 1 页序方式存储,且元素已按值排好序V47.用()方法遍历一棵二叉排序树,可以得到各结点键值的递增序列。()单选题*A.先根遍历B.中根遍历VC.层次遍历D.后根遍历48.在查找过程中,若同时还要做增、删工作,这种查找则称为()单选题*A.静态查找B.动态查找VC.内查找D.外杳找49.二叉排序树中,关键字值最大的
25、结点()单选题*A.左指针一定为空B.右指针一定为空VC.左、右指针均为空D.左、右指针均不为空50.在一个具有k 个结点的无向图中,要连通全部结点至少需要()条边。()单选题A.kB.k+1C.k-lVD.k/251.二叉排序树中,关键字值最大的结点()单选题*A.左指针一定为空B.右指针一定为空VC.左、右指针均为空D.左、右指针均不为空52.图的广度优先搜索遍历类似于树的()单选题*A.先序遍历B.中序遍历C.后序遍历D.层次遍历V53.在查找过程中,若同时还要做增、删工作,这种查找则称为()单选题*A.静态查找B.动态查找VC.内查找D.外查找54.具有m 个结点的无向图的边数最多为(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 算法 知识 题库 答案
限制150内