数据结构与算法复习题及参考答案剖析
数据结构与算法分析习题与参考答案

大学《数据结构与算法分析》课程习题及参考答案模拟试卷一一、单选题(每题 2 分,共20分)1.以下数据结构中哪一个是线性结构?( )A. 有向图B. 队列C. 线索二叉树D. B树2.在一个单链表HL中,若要在当前由指针p指向的结点后面插入一个由q指向的结点,则执行如下( )语句序列。
A. p=q; p->next=q;B. p->next=q; q->next=p;C. p->next=q->next; p=q;D. q->next=p->next; p->next=q;3.以下哪一个不是队列的基本运算?()A. 在队列第i个元素之后插入一个元素B. 从队头删除一个元素C. 判断一个队列是否为空D.读取队头元素的值4.字符A、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成( )个不同的字符串?A.14B.5C.6D.85.由权值分别为3,8,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为( )。
以下6-8题基于图1。
6.该二叉树结点的前序遍历的序列为( )。
A.E、G、F、A、C、D、BB.E、A、G、C、F、B、DC.E、A、C、B、D、G、FD.E、G、A、C、D、F、B7.该二叉树结点的中序遍历的序列为( )。
A. A、B、C、D、E、G、FB. E、A、G、C、F、B、DC. E、A、C、B、D、G、FE.B、D、C、A、F、G、E8.该二叉树的按层遍历的序列为( )。
A.E、G、F、A、C、D、B B. E、A、C、B、D、G、FC. E、A、G、C、F、B、DD. E、G、A、C、D、F、B9.下面关于图的存储的叙述中正确的是( )。
A.用邻接表法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关B.用邻接表法存储图,占用的存储空间大小与图中边数和结点个数都有关C. 用邻接矩阵法存储图,占用的存储空间大小与图中结点个数和边数都有关D.用邻接矩阵法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关10.设有关键码序列(q,g,m,z,a,n,p,x,h),下面哪一个序列是从上述序列出发建堆的结果?( )A. a,g,h,m,n,p,q,x,zB. a,g,m,h,q,n,p,x,zC. g,m,q,a,n,p,x,h,zD. h,g,m,p,a,n,q,x,z二、填空题(每空1分,共26分)1.数据的物理结构被分为_________、________、__________和___________四种。
数据结构与算法分析习题与参考答案

大学《数据结构与算法分析》课程习题及参考答案模拟试卷一一、单选题(每题2分,共20分)1. 以下数据结构中哪一个是线性结构?()A. 有向图B.队列C. 线索二叉树D. B树2. 在一个单链表HL中,若要在当前由指针p指向的结点后面插入一个由q指向的结点,则执行如下()语句序列。
A. p=q; p_>n ext=q;B. p_>n ext=q; q_>n ext=p;C. p_>n ext=q _>n ext; p=q;D. q_>n ext=p->n ext; p_>n ext=q;3. 以下哪一个不是队列的基本运算?()A. 在队列第i个元素之后插入一个元素B. 从队头删除一个元素C.判断一个队列是否为空D. 读取队头元素的值4. 字符A、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成()个不同的字符串?A. 14B.5C.6D.8由权值分别为3,8,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为()5.A. 11B.35C. 19D. 536.A. E、G F、 A C D BB. E、A、G C F、B、DC. E、A、C、B D G FD. E、G A、C D F、B7.A. A 、B、 C D E、G FB. E 、A、G C F、B、DC. E 、A、C B、D G FE. B D C '、AF、G E以下6-8题基于图1。
该二叉树结点的前序遍历的序列为该二叉树结点的中序遍历的序列为(8.该二叉树的按层遍历的序列为()9.下面关于图的存储的叙述中正确的是 ()。
A .用邻接表法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关B .用邻接表法存储图,占用的存储空间大小与图中边数和结点个数都有关 C. 用邻接矩阵法存储图,占用的存储空间大小与图中结点个数和边数都有关 D .用邻接矩阵法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关10. 设有关键码序列(q , g , m z , a , n , p , x , h),下面哪一个序列是从上述序列出发建 堆的结果?()A. a , g , h , m n , p , q , x , zB. a ,g , m h , q , n , p , x , zC. g, m, q , a , n , p , x , h , z D. h,g , m p , a , n , q , x , z二、填空题(每空1分,共26分)1.数据的物理结构被分为 、、 和四种。
数据结构和算法习题及答案解析

第1章绪论习题1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。
2.试举一个数据结构的例子,叙述其逻辑结构和存储结构两方面的含义和相互关系。
3.简述逻辑结构的四种基本关系并画出它们的关系图。
4.存储结构由哪两种基本的存储方法实现?5.选择题(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.栈6.试分析下面各程序段的时间复杂度。
(1)x=90; y=100;while(y>0)if(x>100){x=x-10;y--;}else x++;(2)for (i=0; i<n; i++)for (j=0; j<m; j++)a[i][j]=0;(3)s=0;for i=0; i<n; i++)for(j=0; j<n; j++)s+=B[i][j];sum=s;(4)i=1;while(i<=n)i=i*3;(5)x=0;for(i=1; i<n; i++)for (j=1; j<=n-i; j++)x++;(6)x=n; //n>1y=0;while(x≥(y+1)* (y+1))y++;(1)O(1)(2)O(m*n)(3)O(n2)(4)O(log3n)(5)因为x++共执行了n-1+n-2+……+1= n(n-1)/2,所以执行时间为O(n2)(6)O(n)第2章线性表1.选择题(1)一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是()。
《数据结构与算法》习题与答案

《数据结构与算法》习题与答案(解答仅供参考)一、名词解释:1. 数据结构:数据结构是计算机存储、组织数据的方式,它不仅包括数据的逻辑结构(如线性结构、树形结构、图状结构等),还包括物理结构(如顺序存储、链式存储等)。
它是算法设计与分析的基础,对程序的效率和功能实现有直接影响。
2. 栈:栈是一种特殊的线性表,其操作遵循“后进先出”(Last In First Out, LIFO)原则。
在栈中,允许进行的操作主要有两种:压栈(Push),将元素添加到栈顶;弹栈(Pop),将栈顶元素移除。
3. 队列:队列是一种先进先出(First In First Out, FIFO)的数据结构,允许在其一端插入元素(称为入队),而在另一端删除元素(称为出队)。
常见的实现方式有顺序队列和循环队列。
4. 二叉排序树(又称二叉查找树):二叉排序树是一种二叉树,其每个节点的左子树中的所有节点的值都小于该节点的值,而右子树中的所有节点的值都大于该节点的值。
这种特性使得能在O(log n)的时间复杂度内完成搜索、插入和删除操作。
5. 图:图是一种非线性数据结构,由顶点(Vertex)和边(Edge)组成,用于表示对象之间的多种关系。
根据边是否有方向,可分为有向图和无向图;根据是否存在环路,又可分为有环图和无环图。
二、填空题:1. 在一个长度为n的顺序表中,插入一个新元素平均需要移动______个元素。
答案:(n/2)2. 哈希表利用______函数来确定元素的存储位置,通过解决哈希冲突以达到快速查找的目的。
答案:哈希(Hash)3. ______是最小生成树的一种算法,采用贪心策略,每次都选择当前未加入生成树且连接两个未连通集合的最小权重边。
答案:Prim算法4. 在深度优先搜索(DFS)过程中,使用______数据结构来记录已经被访问过的顶点,防止重复访问。
答案:栈或标记数组5. 快速排序算法在最坏情况下的时间复杂度为______。
(完整版)数据结构复习题(附答案)

一、算法设计题(每题15分,共60分)答题要求:①用自然语言说明所采用算法的思想;②给出每个算法所需的数据结构定义,并做必要说明;③写出对应的算法程序,并做必要的注释。
1、有一个带头结点的单链表,每个结点包括两个域,一个是整型域info,另一个是指向下一个结点的指针域next。
假设单链表已建立,设计算法删除单链表中所有重复出现的结点,使得info域相等的结点只保留一个。
3、约瑟夫环问题(Josephus问题)是指编号为1、2、…,n的n(n>0)个人按顺时针方向围坐成一圈,现从第s个人开始按顺时针方向报数,数到第m个人出列,然后从出列的下一个人重新开始报数,数到第m的人又出列,…,如此重复直到所有的人全部出列为止。
现要求采用循环链表结构设计一个算法,模拟此过程。
4、编程实现单链表的就地逆置。
23.在数组 A[1..n]中有n个数据,试建立一个带有头结点的循环链表,头指针为h,要求链中数据从小到大排列,重复的数据在链中只保存一个.5、设计一个尽可能的高效算法输出单链表的倒数第K个元素。
3、假设以I和O分别表示入栈和出栈操作。
栈的初态和终态均为空,入栈和出栈的操作序列可表示为仅由I和O组成的序列,称可以操作的序列为合法序列,否则称为非法序列。
(15分)(1)下面所示的序列中哪些是合法的?A. IOIIOIOOB. IOOIOIIOC. IIIOIOIOD. IIIOOIOO(2)通过对(1)的分析,写出一个算法,判定所给的操作序列是否合法。
若合法,返回true,否则返回false(假定被判定的操作序列已存入一维数组中)。
5、设从键盘输入一整数的序列:a1, a2, a3,…,an,试编写算法实现:用栈结构存储输入的整数,当ai≠-1时,将ai进栈;当ai=-1时,输出栈顶整数并出栈。
算法应对异常情况(入栈满等)给出相应的信息。
设有一个背包可以放入的物品重量为S,现有n件物品,重量分别为W1,W2,...,W n。
数据结构题库及答案详解

数据结构题库及答案详解一、选择题1. 在数据结构中,线性结构的特点是什么?A. 结构中存在唯一的开始结点和终端结点B. 结构中所有结点的前驱和后继都存在C. 结构中所有结点都只有一个直接前驱和一个直接后继D. 结构中存在多个开始结点和终端结点答案:C2. 栈是一种特殊的线性表,其特点是:A. 先进先出B. 先进后出C. 可以同时在两端进行插入和删除操作D. 只能在一端进行插入和删除操作答案:D3. 在二叉树的遍历算法中,先序遍历的顺序是:A. 先访问根结点,然后遍历左子树,最后遍历右子树B. 先遍历左子树,然后访问根结点,最后遍历右子树C. 先遍历右子树,然后访问根结点,最后遍历左子树D. 先遍历左右子树,最后访问根结点答案:A二、填空题4. 在图的遍历中,______算法可以避免重复访问同一顶点。
5. 哈希表的冲突可以通过______方法来解决。
答案:4. 深度优先搜索(DFS)5. 链地址法或开放地址法三、简答题6. 简述排序算法中的快速排序算法的基本原理。
答案:快速排序算法是一种分治算法,它通过选择一个元素作为“基准”,然后将数组分为两个子数组,一个包含小于基准的元素,另一个包含大于基准的元素。
然后对这两个子数组递归地应用快速排序算法。
7. 解释什么是递归,并给出一个递归函数的例子。
答案:递归是一种在函数中调用自身的编程技术。
递归函数必须有一个明确的终止条件,以避免无限递归。
例如,计算阶乘的递归函数如下:```int factorial(int n) {if (n == 0) return 1; // 终止条件return n * factorial(n - 1); // 递归调用}```四、编程题8. 编写一个函数,实现单链表的反转。
答案:```c// 假设ListNode是链表节点的定义ListNode* reverseList(ListNode* head) {ListNode* prev = NULL;ListNode* curr = head;ListNode* next = NULL;while (curr != NULL) {next = curr->next; // 保存下一个节点curr->next = prev; // 反转指针prev = curr; // 移动prevcurr = next; // 移动curr}return prev; // 新的头节点}```9. 给定一个整数数组,请实现一个函数来找到数组中的最长连续子序列的长度。
数据结构与算法复习题+参考答案

数据结构与算法复习题+参考答案一、单选题(共100题,每题1分,共100分)1、设栈的顺序存储空间为 S(1:m),初始状态为 top=0。
现经过一系列正常的入栈与退栈操作后,top=m+1,则栈中的元素个数为A、m+1B、mC、不可能D、0正确答案:C2、小张完成了毕业论文,现需要在正文前添加论文目录以便检索和阅读,最优的操作方法是:A、利用 Word 提供的“手动目录”功能创建目录。
B、不使用内置标题样式,而是直接基于自定义样式创建目录。
C、将文档的各级标题设置为内置标题样式,然后基于内置标题样式自动插入目录。
D、直接输入作为目录的标题文字和相对应的页码创建目录。
正确答案:C3、赵老师在 Excel 中为 400 位学生每人制作了一个成绩条,每个成绩条之间有一个空行分隔。
他希望同时选中所有成绩条及分隔空行,最快捷的操作方法是:A、直接在成绩条区域中拖动鼠标进行选择B、单击成绩条区域的某一个单元格,然后按Ctrl+A 组合键两次C、单击成绩条区域的第一个单元格,然后按Ctrl+Shift+End 组合键D、单击成绩条区域的第一个单元格,按下Shift 键不放再单击该区域的最后一个单元格正确答案:C4、设某棵树的度为 3,其中度为 3,1,0 的结点个数分别为 3,4,15。
则该树中总结点数为A、35B、不可能有这样的树C、30D、22正确答案:C5、在商场购物时,顾客可以购买不同的商品,而同样的商品也销售给不同的顾客,则实体顾客和实体商品之间的联系是A、一对一B、一对多C、多对多D、多对一正确答案:C6、在具有 2n 个结点的完全二叉树中,叶子结点个数为A、n/2B、n-1C、nD、n+1正确答案:C7、PowerPoint 演示文稿包含了 20 张幻灯片,需要放映奇数页幻灯片,最优的操作方法是:A、将演示文稿的偶数张幻灯片删除后再放映。
B、将演示文稿的偶数张幻灯片设置为隐藏后再放映。
C、将演示文稿的所有奇数张幻灯片添加到自定义放映方案中,然后再放映。
数据结构与算法分析_六套期末复习题(含答案)

试题一一、单项选择题(每小题2分,共20分)(1)以下数据结构中哪一个是线性结构?()A)有向图B)队列C)线索二叉树D)B树(2)在一个单链表HL中,若要在当前由指针p指向的结点后面插入一个由q指向的结点,则执行如下()语句序列。
A)p=q; p->next=q; B)p->next=q;q->next=p;C)p->next=q->next; p=q; D)q->next=p->next;p->next=q;(3)()不是队列的基本运算。
A)在队列第i个元素之后插入一个元素B)从队头删除一个元素C)判断一个队列是否为空D)读取队头元素的值(4)字符A、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成()个不同的字符串。
A)14 B)5 C)6D)8(5)由权值分别为3,8,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为()。
A)11 B)35 C)19 D)53 以下6-8题基于下图:(6)该二叉树结点的前序遍历的序列为()。
A)E、G、F、A、C、D、B B)E、A、G、C、F、B、DC)E、A、C、B、D、G、F D)E、G、A、C、D、F、B(7)该二叉树结点的中序遍历的序列为()。
A)A、B、C、D、E、G、F B)E、A、G、C、F、B、DC)E、A、C、B、D、G、F D)B、D、C、A、F、G、E(8)该二叉树的按层遍历的序列为()。
A)E、G、F、A、C、D、B B)E、A、C、B、D、G、FC)E、A、G、C、F、B、D D)E、G、A、C、D、F、B(9)下面关于图的存储的叙述中正确的是()。
A)用邻接表法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关B)用邻接表法存储图,占用的存储空间大小与图中边数和结点个数都有关C)用邻接矩阵法存储图,占用的存储空间大小与图中结点个数和边数都有关D)用邻接矩阵法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关(10)设有关键码序列(q,g,m,z,a,n,p,x,h),下面哪一个序列是从上述序列出发建堆的结果?()A)a,g,h,m,n,p,q,x,z B)a,g,m,h,q,n,p,x,zC)g,m,q,a,n,p,x,h,z D)h,g,m,p,a,n,q,x,z二、(本题8分)对于序列{8,18,6,16,29,28},试写出堆顶元素最小的初始堆。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
复习题集─参考答案一判断题(√)1. 在决定选取何种存储结构时,一般不考虑各结点的值如何。
(√)2. 抽象数据类型与计算机内部表示和实现无关。
(×)3. 线性表采用链式存储结构时,结点和结点内部的存储空间可以是不连续的。
(×)4. 链表的每个结点中都恰好包含一个指针。
(×)5.链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动地将后续的各个单元向前移动。
(×)6. 线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。
(×)7. 顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。
(×)8. 线性表在物理存储空间中也一定是连续的。
(×)9. 顺序存储方式只能用于存储线性结构。
(√)10.栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。
(√)11.对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表。
(√)12.栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。
(√)13.两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。
(×)14.二叉树的度为2。
(√)15.若二叉树用二叉链表作存贮结构,则在n个结点的二叉树链表中只有n—1个非空指针域。
(×)16.二叉树中每个结点的两棵子树的高度差等于1。
(√)17.用二叉链表法存储包含n个结点的二叉树,结点的2n个指针区域中有n+1个为空指针。
(√)18.具有12个结点的完全二叉树有5个度为2的结点。
(√)19.二叉树的前序遍历序列中,任意一个结点均处在其孩子结点的前面。
(×)20.在冒泡法排序中,关键值较小的元素总是向前移动,关键值较大的元素总是向后移动。
(×)21.计算机处理的对象可以分为数据和非数据两大类。
[计算机处理的对象都是数据](×)22.数据的逻辑结构与各数据元素在计算机中如何存储有关。
(×)23.算法必须用程序语言来书写。
(×)24.判断某个算法是否容易阅读是算法分析的任务之一。
(×)25.顺序表是一种有序的线性表。
[任何数据结构才用顺序存储都叫顺序表](√)26.分配给顺序表的内存单元地址必须是连续的。
(√)27.栈和队列具有相同的逻辑特性。
[它们的逻辑结构都是线性表](√)28.树形结构中每个结点至多有一个前驱。
(×)29.在树形结构中,处于同一层上的各结点之间都存在兄弟关系。
(×)30.如果表示图的邻接矩阵是对称矩阵,则该图一定是无向图。
(×)31.如果表示图的邻接矩阵是对称矩阵,则该图一定是有向图。
(×)32.顺序查找方法只能在顺序存储结构上进行。
(×)33.折半查找可以在有序的双向链表上进行。
(√)34.满二叉树中不存在度为1的结点。
(×)35.完全二叉树中的每个结点或者没有孩子或者有两个孩子。
(√)36.对n个元素执行快速排序,在进行第一次分组时,排序码的比较次数总是n-1次。
(√)37.在有向图中,各顶点的入度之和等于各顶点的出度之和。
一、选择题(A)1. 在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是:A) 访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)C) 删除第i个结点(1≤i≤n)B) 在第i个结点后插入一个新结点(1≤i≤n)D) 将n个结点从小到大排序(C)2. 算法分析的目的是:A) 找出数据结构的合理性B) 研究算法中的输入和输出的关系C) 分析算法的效率以求改进D) 分析算法的易懂性和文档性(A)3. 算法分析的两个主要方面是:A) 空间复杂性和时间复杂性B) 正确性和简明性C) 可读性和文档性D) 数据复杂性和程序复杂性(C)4. 计算机算法指的是:A) 计算方法B) 排序方法C) 解决问题的有限运算序列D) 调度方法(B)5. 计算机算法必须具备输入、输出和等5个特性。
A) 可行性、可移植性和可扩充性B) 可行性、确定性和有穷性C) 确定性、有穷性和稳定性D) 易读性、稳定性和安全性(B)6. 一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是: (A)110 (B)108 (C)100 (D)120(D)下列选项中与数据存储结构无关的术语是:A.顺序表B.链表C.链队列D.栈(A)7. 链接存储的存储结构所占存储空间:(A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针(B)只有一部分,存放结点值(C)只有一部分,存储表示结点间关系的指针(D)分两部分,一部分存放结点值,另一部分存放结点所占单元数(B)8. 带头结点的单链表head,链表为空的判定条件是(A)head == NULL (B) head->next ==NULL ( C) head->next ==head (D) head!=NULL(B)9. 一个栈的输入序列为1,2,3,…,n,若输出序列的第一个元素是n,输出第i(1≤i≤n)个元素是。
A) 不确定B) n-i+1 C) i D) n-i(B)10. 最大容量为n的循环队列,队尾指针是rear,队头是front,则队空的条件是()。
A) (rear+1)% n==front B) rear===front C) rear+1==front D) (rear-l) % n==front (A)11. 循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是:(A) (rear-front+m)%m (B) rear-front+1 (C) rear-front-1 (D) rear-front(B)12. 若用一个大小为6的数值来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为:(A) 1和5 (B) 2和4 (C) 4和2 ( D) 5和1(C )13. 按照二叉树的定义,具有3个结点的二叉树有( )种。
A) 3 B) 4 C) 5 D) 6 [利用排列组合知识来做](B )14. 若一棵二叉树中度为l 的结点个数是3,度为2的结点个数是4,则该二叉树叶子结点的个数是:(A) 4 (B) 5 (C) 7 (D) 8(B )15. 具有n(n>0)个结点的完全二叉树的深度为:(A) ⎡log 2(n)⎤ (B) ⎣ log 2(n)⎦ (C) ⎣ log 2(n) ⎦+1 (D) ⎡log 2(n)+1⎤(D )16. 对一个满二叉树,m 个叶子,n 个结点,深度为h ,则:(A) n = h+m (B) h+m = 2n (C) m = h-1 (D) n = 2h-1(C )17.在高度为h 的完全二叉树中,表述正确的是( )A.度为0的结点都在第h 层上B.第i(1≤i<h)层上的结点都是度为2的结点C.第i(1≤i<h)层上有2i-1个结点D.不存在度为1的结点(B )18. 深度为5的二叉树至多有( )个结点。
A) 32 B) 31 C) 16 D) 10(A )19. 用邻接表表示图进行深度优先遍历时,通常采用( )结构来时实现算法。
A) 栈 B) 队列 C) 树 D) 图(D )20. 对N 个记录作顺序查找时,当查找成功时,平均查找长度是( )。
A) N 2 B) N 2/2 C) N D)(N ﹢1)/2(B )21. 当一个有n 个顶点的图用邻接矩阵A 表示时,顶点V i 的度是( )。
(A)∑=n i j i A 1],[ B) ∑=n j j i A 1],[ C)∑=n i i j A 1],[ D)∑=n i j i A 1],[+∑=n j i j A 1],[(C )22.某算法的时间复杂度为O(2n ),表明该算法的( )A.问题规模是2nB.执行时间等于2nC.执行时间近似与2n 成正比D.问题的规模近似与2n 成正比(D )23.“二叉树为空”意味着二叉树( )A.由一些没有赋值的空结点构成B.根结点没有子树C.不存在D.没有结点(D )24.数据结构的研究内容不涉及( )A.数据如何组织B.数据如何存储C.数据的运算如何实现D.算法用什么语言描述(C )25.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储A.数据的处理方法B.数据元素的类型C.数据元素之间的关系D.数据的存储方法(D )26.数据采用顺序存储,要求( )A.存储的是属于线性结构的数据B.根据结点值的大小,有序存放各结点C.按存储单元地址由低到高的顺序存放各结点D.各结点存放方法有规律,能隐含表示结点间的逻辑关系(D )27.一个顺序表所占存储空间大的大小与( )无关A.顺序表长度B.结点类型C.结点中各字段的类型D.结点存放顺序(A )28.数据采用链接存储,要求( )A.每个结点占用一片连续的存储区域B.所有结点占用一片连续的存储区域C.结点的最后一个字段是指针型的字段 C.每个结点有多少个后继,就设多少个指针字段(A )29.算法的时间复杂度与( )有关A.问题规模B.计算机硬件性能C.编译程序质量D.程序设计语言(C)30.在程序中,为了设置一个空的顺序表,必须()A.给各数组元素赋空值B.给各顺序表元素赋空值C.给表示顺序表长度的变量赋初始值D.给数组变量名赋初始值(D)31.若变量H是某个带表头结点循环单向链表的表头指针,则在该链表最后的一个结点的后继指针域中存放的是()A.H的地址B.H的值C.表头结点的值D.首元结点的地址(A)32.栈和队列的共同点在于()A.逻辑特性B.存储结构C.运算方法D.元素类型(C)33.栈和队列的共同点在于()A.都对存储方法作了限制B.都是只能进行插入、删除运算C.都对插入、删除的位置作了限制D.都对插入、删除两中操作的先后顺序作了限制(C)34.若5个元素的进栈序列是1,2,3,4,5,则不可能得到出栈序列()A.1,2,3,4,5B.3,4,2,5,1C.4,2,1,3,5D.5,4,3,2,1(A)35.顺序循环队列中是否可以插入下一个元素,()A.与队首指针和队尾指针的值有关B.只与队尾指针的值有关,与队首指针的值无关C.只与数组大小有关,与队首指针和队尾指针的值无关D.与曾经进行过多少次插入操作有关(A)36.在顺序队列中,元素的排列顺序()A.由元素插入队列的先后顺序决定B.与元素值的大小有关C.与队首指针和队尾指针的取值有关D.与数组大小有关(C)37.在高度为h的完全二叉树中,()A.度为0的结点都在第h层上B.第i(1≤i<h)层上的结点都是度为2的结点C.第i(1≤i<h)层上有2i-1个结点D.不存在度为1的结点(B)38.一颗二叉树如图所示,其中序遍历的序列为:B. DGBAECHFC. GDBEHFCAD. ABCDEFGH(A)39.采用邻接表存储的图的深度优先遍历算法类似于二叉树的A.先序遍历B.中序遍历C.后序遍历D.按层遍历(D)40.采用邻接表存储的图的广度优先遍历算法类似于二叉树的A.先序遍历B.中序遍历C.后序遍历D.按层遍历(D)41.已知关键字序列为(51,22,83,46,75,18,68,30),对其进行快速排序,第一趟划分完成后的关键字序列是A.(18,22,30,46,51,68,75,83)B.(30,18,22,46,51,75,83,68)C.(46,30,22,18,51,75,68,83)D.(30,22,18,46,51,75,68,83)二、填空题1.数据结构包括数据的逻辑结构、数据的存储结构和数据的运算这三个方面的内容。