数据结构选择题集锦

合集下载

数据结构考试题及答案

数据结构考试题及答案

数据结构考试题及答案一、选择题(每题2分,共20分)1. 以下哪个不是线性数据结构?A. 数组B. 链表C. 树D. 图2. 在一个单链表中,删除一个节点的操作需要知道该节点的:A. 地址B. 值C. 索引D. 前驱节点的引用3. 栈(Stack)是一种:A. 线性表B. 树状结构C. 图结构D. 散列表4. 哈希表解决冲突最常用的方法是:A. 排序B. 链地址法C. 再散列D. 除留余数法5. 以下哪个排序算法是稳定的?A. 快速排序B. 冒泡排序C. 选择排序D. 堆排序二、简答题(每题10分,共30分)1. 简述数组和链表的区别。

2. 解释二叉搜索树的基本概念及其优势。

3. 什么是递归?请给出一个简单的递归算法例子。

三、计算题(每题25分,共50分)1. 给定一个无序数组,请写出一个时间复杂度为O(n log n)的排序算法,并说明其工作原理。

2. 描述如何使用队列来实现一个简单的文本编辑器的撤销和重做功能。

四、编程题(共30分)编写一个函数,该函数接受一个整数数组作为参数,返回数组中所有元素的和。

如果数组为空,返回0。

答案一、选择题1. 答案:C(树和图都是非线性结构)2. 答案:D(需要前驱节点的引用来删除节点)3. 答案:A(栈是一种后进先出的特殊线性表)4. 答案:B(链地址法是解决哈希冲突的常用方法)5. 答案:B(冒泡排序是稳定的排序算法)二、简答题1. 数组和链表的区别:- 数组是连续的内存空间,链表是非连续的。

- 数组的索引访问速度快,链表需要遍历。

- 数组的大小固定,链表动态可变。

2. 二叉搜索树的基本概念及其优势:- 二叉搜索树是一种特殊的二叉树,左子树上所有节点的值小于它的根节点的值,右子树上所有节点的值大于它的根节点的值。

- 优势:支持快速的查找、插入和删除操作。

3. 递归是函数自己调用自己的过程。

例如,计算n的阶乘的递归算法: ```cint factorial(int n) {if (n <= 1) return 1;return n * factorial(n - 1);}```三、计算题1. 快速排序算法:- 选择一个元素作为“基准”(pivot)。

数据结构试题集(8套卷子+答案)

数据结构试题集(8套卷子+答案)

数据结构试题集(8套卷子+答案)《数据结构》试卷一一、填空题:(共20分)1、当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用存储结构。

2、队列是限制插入只能在表的一端,而删除在表的另一端进行的线性表,其特点是。

3、在一棵二叉树中,度为0的结点个数为n0,度为2的个数为n2,则n0= 。

4、二叉树的前序遍历序列等同于该二叉树所对应森林的遍历序列5、对一棵二叉排序树,若以遍历该树,将得到一个以关键字递增顺序排列的有序序列。

6、三个结点a,b,c组成二叉树,共有种不同的结构。

7、在AVL树中,由于在A结点的右孩子的右子树上插入结点,使A结点的平衡因子由-1变为-2,使其失去平衡,应采用型平衡旋转。

8、图的遍历有两种,它们是。

9、堆排序的时间复杂度为。

10、在含有N个结点的二叉链表中有空链域,通常用这些空链域存储线索,从而得另一种链式存储结构----线索链表。

二、单项选择题(共20分)1、若进栈序列为1,2,3,4,假定进栈和出栈可以穿插进行,则可能的出栈序列是()(A)2,4,1,3(B)3,1,4,2(C)3,4,1,2(D)1,2,3,42、有一棵非空的二叉树,(第0层为根结点),其第i层上最多有多少个结点?()(A)2i(B)21-i(C)21+i(D) i 3、设电文中出现的字母为A,B,C,D,E,每个字母在电文中出现的次数分别为9,27,3,5,11,按huffman编码,则字母A编码为()(A)10(B)110(C)1110(D)11114、下面关于数据结构的叙述中,正确的叙述是()(A)顺序存储方式的优点是存储密度大,且插、删除运算效率高(B)链表中每个结点都恰好包含一个指针(C)包含n个结点的二叉排序树的最大检索长度为logn2(D)将一棵树转为二叉树后,根结点无右子树5、程序段:y:=0while n>=(y+1)*(y+1) doy:=y+1enddo的时间复杂度为()(A)O(n) (B)O(n2) (C)O(n2/1) (D)O(1)6、排序方法中,关键码比较的次数与记录的初始排列无关的是( )(A) shell排序 (B) 归并排序 (C) 直接插入排序 (D) 直接选择排序7、数组q[0..n-1]作为一个环行队列,f 为当前队头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数总小于n,则队列中元素个数为( )(A) r-f (B) n+f-r (C) n+r-f (D) (n+r-f) mod n8、为了有效的利用散列查找技术,需要解决的问题是:( )Ⅰ:找一个好的散列函数Ⅱ:设计有效的解决冲突的方法Ⅲ:用整数表示关键码值(A) Ⅰ和Ⅲ (B) Ⅰ和Ⅱ (C) Ⅱ和Ⅲ (D)Ⅰ,Ⅱ和Ⅲ9、引入线索二叉树的目的是()(A) 加快查找结点的前驱或后继的速度(B) 为了能在二叉树中方便的进行插入与删除(C) :为了能方便的找到双亲(D) 使二叉树的遍历结果唯一10、用二分(折半)查找表的元素的速度比用顺序法()(A) 必然快(B) 必然慢(C): 相等(D): 不能确定三、简答题:(共40分)1、已知某二叉树按中序遍历序列为BFDAEGC,按前序遍历序列为ABDFCEG,试画出该二叉树形状,并写出它的后序遍历序列。

数据结构试题及答案(十套)

数据结构试题及答案(十套)

一、单选题(每题 2 分,共20分)1.对一个算法的评价,不包括如下(B )方面的内容。

A.健壮性和可读性B.并行性C.正确性D.时空复杂度2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。

A. p->next=HL->next; HL->next=p;B. p->next=HL; HL=p;C. p->next=HL; p=HL;D. HL=p; p->next=HL;3.对线性表,在下列哪种情况下应当采用链表表示?( )A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35.AOV网是一种()。

A.有向图B.无向图C.无向无环图D.有向无环图6.采用开放定址法处理散列表的冲突时,其平均查找长度()。

A.低于链接法处理冲突 B. 高于链接法处理冲突C.与链接法处理冲突相同D.高于二分查找7.若需要利用形参直接访问实参时,应将形参变量说明为()参数。

A.值B.函数C.指针D.引用8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。

A.行号B.列号C.元素值D.非零元素个数9.快速排序在最坏情况下的时间复杂度为()。

A.O(log2n) B.O(nlog2n)C.0(n) D.0(n2)10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( )。

A. O(n)B. O(1)C. O(log2n)D. O(n2)二、运算题(每题 6 分,共24分)1.数据结构是指数据及其相互之间的______________。

当结点之间存在M对N (M:N)的联系时,称这种结构为_____________________。

数据结构试题及答案

数据结构试题及答案

数据结构试题及答案一、选择题(每题2分,共20分)1. 在数据结构中,线性结构的特点是元素之间存在一对一的线性关系。

以下哪个数据结构不属于线性结构?A. 栈B. 队列C. 树D. 链表答案:C2. 栈(Stack)是一种后进先出(LIFO)的数据结构,以下哪个操作不是栈的基本操作?A. PushB. PopC. TopD. Sort答案:D3. 在二叉树的遍历中,前序遍历的顺序是:A. 根-左-右B. 左-根-右C. 右-根-左D. 根-右-左答案:A4. 哈希表的冲突可以通过多种方法解决,以下哪个不是解决哈希表冲突的方法?A. 链地址法B. 开放地址法C. 再散列法D. 排序法答案:D5. 以下哪个排序算法是稳定的?A. 快速排序B. 堆排序C. 归并排序D. 选择排序答案:C6. 在图的遍历中,深度优先搜索(DFS)使用的是哪种数据结构来实现?A. 队列B. 栈C. 链表D. 哈希表答案:B7. 以下哪个是图的存储方式?A. 顺序存储B. 链式存储C. 散列表D. 矩阵存储答案:D8. 动态数组(如C++中的vector)在插入元素时可能需要进行的操作是:A. 原地扩展B. 复制元素C. 重新分配内存D. 释放内存答案:C9. 以下哪个不是算法的时间复杂度?A. O(1)B. O(log n)C. O(n^2)D. O(n!)答案:D10. 在查找算法中,二分查找法要求被查找的数据必须是:A. 无序的B. 有序的C. 随机分布的D. 唯一元素答案:B二、简答题(每题5分,共30分)1. 简述链表和数组的区别。

答案:链表和数组都是存储数据的线性数据结构,但它们在内存分配、访问方式、插入和删除操作等方面存在差异。

数组在内存中是连续存储的,可以通过索引快速访问任意元素,但插入和删除元素时可能需要移动大量元素。

链表在内存中是非连续存储的,每个元素包含数据和指向下一个元素的指针,不支持通过索引快速访问,但插入和删除操作只需要改变指针,不需要移动其他元素。

数据结构题库及答案详解

数据结构题库及答案详解

数据结构题库及答案详解一、选择题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. 给定一个整数数组,请实现一个函数来找到数组中的最长连续子序列的长度。

数据结构复习题选择题部分

数据结构复习题选择题部分

第一课绪论一、选择题1.算法的计算量的大小称为计算的()。

A.效率 B.复杂性 C.现实性 D.难度参考答案:B2.算法的时间复杂度取决于( ).A.问题的规模 B.待处理数据的初态 C.A和B参考答案:C3.计算机算法指的是()。

A.计算方法 B.排序方法 C.解决问题的步骤序列 D.调度方法参考答案:C4.计算机算法必须具备()这三个特性。

A.可执行性、可移植性、可扩充性 B.可执行性、确定性、有穷性C.确定性、有穷性、稳定性 D.易读性、稳定性、安全性参考答案:B5.下面关于算法说法错误的是()。

A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C.算法的可行性是指指令不能有二义性D.以上几个都是错误的参考答案:D6.从逻辑上可以把数据结构分为()两大类。

A.动态结构、静态结构 B.顺序结构、链式结构C.线性结构、非线性结构 D.初等结构、构造型结构参考答案:C第二课线性表一选择题1.下列属顺序存储结构优点的是()。

A.存储密度大 B.插入运算方便 C.删除运算方便 D.可方便地用于各种逻辑结构的存储表示参考答案:A2.下列关于线性表的叙述中,错误的是()。

A.线性表采用顺序存储,必须占用一片连续的存储单元。

B.线性表采用顺序存储,便于进行插入和删除操作.C.线性表采用链接存储,不必占用一片连续的存储单元。

D.线性表采用链接存储,便于插入和删除操作。

参考答案:B3.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间.A.顺序表 B.双链表 C.带头结点的双循环链表 D.单循环链表参考答案:A4.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间.A.单链表 B.仅有头指针的单循环链表 C.双链表 D.仅有尾指针的单循环链表参考答案:D5.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。

数据结构考试题及答案

数据结构考试题及答案

数据结构考试题及答案一、选择题1. 以下哪种数据结构在实现栈时最为高效?A. 链表B. 数组C. 树D. 图答案:B2. 快速排序算法的时间复杂度在最坏情况下是多少?A. O(n)B. O(nlogn)C. O(n^2)D. O(n^3)答案:C3. 在二叉搜索树中,若要查找给定值的节点,应该按照以下哪种方式进行?A. 从根节点开始,向左或向右子树交替进行B. 从根节点开始,始终向左子树进行C. 从根节点开始,始终向右子树进行D. 从最底层节点开始向上进行答案:A4. 哈希表的主要优点是什么?A. 有序存储数据B. 高效的查找、插入和删除操作C. 动态扩容D. 消耗内存小答案:B5. 下面哪种数据结构通常用于实现高效的多对一映射?A. 数组B. 链表C. 哈希表D. 树答案:C二、填空题1. 在平衡树中,AVL树通过_________来保持树的平衡。

答案:旋转2. 堆数据结构通常用来实现_________等优先队列。

答案:最大/最小3. 拓扑排序是针对有向无环图(DAG)的一种排序算法,它能够反映出任务间的_________关系。

答案:依赖4. 广度优先搜索(BFS)算法使用_________数据结构来实现。

答案:队列5. 斐波那契数列可以通过递归算法、动态规划以及_________等方法来计算。

答案:矩阵快速幂三、简答题1. 请简述链表和数组的区别及各自的优缺点。

答案:链表由一系列节点组成,每个节点包含数据和指向下一个节点的指针。

它的优点是能够在常数时间内在任意位置插入或删除元素,但随机访问效率较低。

数组是一段连续的内存空间,可以存储一系列相同类型的元素。

它的优点是支持高效的随机访问,但插入和删除操作通常需要移动大量元素,且大小固定或调整大小成本较高。

2. 描述二分查找的工作原理及其适用条件。

答案:二分查找是一种在有序数组中查找特定元素的算法。

它的工作原理是将数组分为两半,比较中间元素与目标值,如果相等则查找结束;如果目标值较小,则在左半部分继续查找;如果目标值较大,则在右半部分继续查找。

数据结构试题库及答案

数据结构试题库及答案

数据结构试题库及答案一、选择题1. 在数据结构中,线性结构的特点是:A. 元素之间存在一对一关系B. 元素之间存在一对多关系C. 元素之间存在多对多关系D. 元素之间存在一对一或多对多关系答案:A2. 栈(Stack)是一种特殊的线性表,其特点是:A. 只能在一端进行插入和删除操作B. 可以在两端进行插入和删除操作C. 只能在一端进行插入操作,另一端进行删除操作D. 可以在任意位置进行插入和删除操作答案:A3. 在二叉树中,度为1的节点数目为2,度为0的节点数目也为2,该二叉树的节点总数是:A. 5B. 6C. 7D. 8答案:B二、简答题1. 请简述什么是哈希表,并说明其主要优点。

答案:哈希表是一种通过哈希函数将键映射到表中一个位置来访问记录的数据结构。

其主要优点包括:平均情况下,查找、插入和删除操作的时间复杂度为O(1),即常数时间内完成操作;空间效率高,能够存储大量数据。

2. 描述图的深度优先搜索(DFS)算法的基本思想。

答案:深度优先搜索算法的基本思想是从一个顶点开始,尽可能深地搜索图的分支。

搜索过程中使用一个栈来保存路径上的顶点。

当搜索到一个顶点时,先访问该顶点,然后依次搜索其所有未被访问过的邻接顶点。

如果当前顶点的所有邻接顶点都被访问过,则回溯到上一个顶点,继续搜索其他邻接顶点。

三、应用题1. 给定一个无向图,使用邻接表表示,请编写一个算法找出图中的所有连通分量。

答案:首先,创建一个访问过的顶点集合。

然后,从图中任意一个未被访问的顶点开始,执行深度优先搜索(DFS)。

每次DFS完成后,就找到了一个连通分量。

重复这个过程,直到所有顶点都被访问过,即可找到图中的所有连通分量。

2. 假设有一个数组,需要频繁地进行查找、插入和删除操作,请设计一个适合这种场景的数据结构,并说明其优势。

答案:对于这种场景,可以使用平衡二叉搜索树(如AVL树或红黑树)。

这些数据结构可以保证在最坏情况下,查找、插入和删除操作的时间复杂度为O(log n)。

数据结构试题集(含答案)

数据结构试题集(含答案)

第一章概论一、选择题1、研究数据结构就是研究( D )。

A. 数据的逻辑结构B. 数据的存储结构C. 数据的逻辑结构和存储结构D. 数据的逻辑结构、存储结构及其基本操作2、算法分析的两个主要方面是(A)。

A. 空间复杂度和时间复杂度B. 正确性和简单性C. 可读性和文档性D. 数据复杂性和程序复杂性3、具有线性结构的数据结构是( D )。

A. 图B. 树C. 广义表D. 栈4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、(B)等5个特性。

A. 可执行性、可移植性和可扩充性B. 可执行性、有穷性和确定性C. 确定性、有穷性和稳定性D. 易读性、稳定性和确定性5、下面程序段的时间复杂度是(C)。

for(i=0;i<m;i++)for(j=0;j<n;j++)a[i][j]=i*j;A. O(m2)B. O(n2)C. O(m*n)D. O(m+n)6、算法是( D )。

A. 计算机程序B. 解决问题的计算方法C. 排序算法D. 解决问题的有限运算序列7、某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示( C )。

A. O(n)B. O(nlog2n) C. O(n2) D. O(log2n)8、下面程序段的时间复杂度为( C )。

i=1;while(i<=n)i=i*3;A. O(n)B. O(3n)C. O(log3n) D. O(n3)9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的( B )和运算等的学科。

A. 结构B. 关系C. 运算D. 算法10、下面程序段的时间复杂度是( C )。

i=s=0;while(s<n){i++;s+=i;}A. O(n)B. O(n2)C. O(√n)D. O(n3)11、抽象数据类型的三个组成部分分别为( A )。

A. 数据对象、数据关系和基本操作B. 数据元素、逻辑结构和存储结构C. 数据项、数据元素和数据类型D. 数据元素、数据结构和数据类型12、通常从正确性、易读性、健壮性、高效性等4个方面评价算法的质量,以下解释错误的是( A )。

《数据结构》试题汇编(带答案)

《数据结构》试题汇编(带答案)

《数据结构》习题汇编一、单项选择题1.在数据结构中,从逻辑上可以把数据结构分成()。

A. 动态结构和静态结构B. 紧凑结构和非紧凑结构C. 线性结构和非线性结构D. 内部结构和外部结构2.数据结构在计算机内存中的表示是指()。

A. 数据的存储结构B. 数据结构C. 数据的逻辑结构D. 数据元素之间的关系3.在数据结构中,与所使用的计算机无关的是数据的()结构。

A. 逻辑B. 存储C. 逻辑和存储D. 物理4.计算机算法指的是(①),它必须具备输入、输出和(②)等5个特性。

①A. 计算方法 B. 排序方法C. 解决问题的有限运算序列D. 调度方法②A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性C. 确定性、有穷性和稳定性D. 易读性、稳定性和安全性5.在一个长度为n的顺序表中向第i个元素(1≤i≤n+1)位置插入一个新元素时,需要从后向前依次后移()个元素。

A. n-iB. n-i+1C. n-i-1D. i6.在一个长度为n的顺序表中删除第i个元素(1≤i≤n)时,需要从前向后依次前移()个元素。

A. n-iB. n-i+1C. n-i-1D. i7.在一个长度为n的顺序表的表尾插入一个新元素的渐进时间复杂度为()。

A. O(n)B. O(1)C. O(n2)D. O(log2n)8.在一个长度为n的顺序表的任一位置插入一个新元素的渐进时间复杂度为()。

A. O(n)B. O(n/2)C. O(1)D. O(n2)9.不带头结点的单链表first为空的判定条件是:()A. first == NULL;B. first->next == NULL;C. first->next == first;D. first != NULL;10.带头结点的单链表first为空的判定条件是:()A. first == NULL;B. first->next == NULL;C. first->next == first;D. first != NULL;11.设单链表中结点的结构为(data, next)。

数据结构选择题

数据结构选择题

1、在以下哪种数据结构中,元素的存储顺序与其逻辑顺序不一致?A. 顺序表B. 单链表C. 双链表D. 栈(答案:B)2、下列哪个数据结构最适合用于实现优先级队列?A. 哈希表B. 二叉搜索树C. 二叉堆D. 双向链表(答案:C)3、对于一个频繁进行插入和删除操作,且要求快速查找的动态集合,最适合使用哪种数据结构?A. 数组B. 链表C. 平衡二叉搜索树D. 直接寻址表(答案:C)4、在图数据结构中,用来表示顶点之间关系的是?A. 边B. 节点C. 权重D. 路径(答案:A)5、下列哪项不是树结构的一种?A. 二叉树B. AVL树C. B树D. 队列(答案:D)6、在深度优先搜索(DFS)中,使用哪种数据结构来跟踪待访问的节点?A. 栈B. 队列C. 散列表D. 优先队列(答案:A)7、下列关于哈希表的说法中,错误的是?A. 哈希表能够提供快速的查找、插入和删除操作B. 哈希函数的选择对哈希表的性能至关重要C. 链地址法解决哈希冲突时不会产生同义词D. 哈希表的平均查找时间复杂度可以是O(1)(答案:C)8、在二叉树的前序遍历中,节点的访问顺序是?A. 根节点 -> 左子树 -> 右子树B. 左子树 -> 根节点 -> 右子树C. 右子树 -> 根节点 -> 左子树D. 左子树 -> 右子树 -> 根节点(答案:A)9、下列哪种数据结构最适合用于实现撤销(undo)操作?A. 栈B. 队列C. 哈希表D. 二叉树(答案:A)10、在并查集数据结构中,用于合并两个集合的操作是?A. FindB. UnionC. MakeSetD. PathCompression(答案:B)。

数据结构习题集

数据结构习题集

数据结构习题集数据结构试题一、单项选择1、若某线性表中最常用的操作是在最后一个元素之前插入和删除元素,则采用___________最节省运算时间.A、单链表B、仅有头指针的单循环链表C、仅有尾指针的单循环链表D、双链表2、哈夫曼树的带权路径长度WPL等于___C________.A、除根以外的所有结点的权植之和B、所有结点权值之和C、各叶子结点的带权路径长度之和D、根结点的值3、设输入序列为1,2,3,4,5,借助一个栈不可能得到的输出序列是___________.A、1,2,3,4,5B、1,4,3,2,5C、4,1,3,2,5D、1,3,2,5,44、20个结点的完全二叉树,其高度为___________.A、3B、2C、4D、55、栈和队列都是___________.A、顺序存储的线性结构B、链式存储的线性结构C、限制存储点的线性结构D、限制存储点的非线结构6、已知完全二叉树有30个结点,则整个二叉树有___________个度为1的结点.A、0B、1C、2D、不确定7、对于N个结点的完全无向图,其边数是___________A、NB、N2C、N(N+1)/2D、N(N+1)8、队列的特点是A、先进先出B、先进后出C、后进先出D、不进不出9、连通分量是的极大连通子图。

A、有向图B、树C、无向图D、图10、现有一“遗传”关系:设x是y的父亲,则x可以把它的属性遗传给y。

表示该遗传关系最适合的数据结构为..............................A、向量B、树C、图D、二叉树11、栈和队列都是().A、线性结构B、链式存储的线性结构C、线性结构或非线性结构D、非线性结构12、二叉树第J层有()个结点A、JB、2JC、J+1D、不能确定13、若图G中()是有向的,则称此图为有向图.A、至少有一条边B、每一条边C、有一条边D、有些边14、在二叉树中,若已知先根序遍历和后根序遍历顺序,则()A、能唯一确定一棵二叉树B、不能唯一确定一棵二叉树C、能唯一确定二棵二叉树D、不存在这样的遍历15、冒泡排序是()的排序方法A、稳定B、不稳定C、外部D、选择16、归并排序是()的排序方法A、稳定B、不稳定C、外部D、选择17、对于顺序存储的队列,存储空间大小为n,头指针为F,尾指针为R.若在逻辑上看一个环,则队列中元素的个数为().A、R-FB、n+R-FC、(R-F+1)mod nD、(n+R-F)mod n18、用9个数据构造出的霍夫曼树共有()个结点A、9B、18C、16D、1719、N个结点的顺序查找的平均查找次数为()A、NB、N/2 C(N+1)/2 D、与N无关20、在无向图的邻接链表中,若表结点个数为M,则边数为()A、MB、M+1C、与M无关D、M/221、设输入序列为1,2,3,4,5,6,借助一个栈不可能得到的输出序列是().A、1,2,3,4,5,6B、1,4,3,2,5 ,6C、4,1,3,2,5,6D、1,3,2,5,4 ,622、栈和队列都是().A、散列存储的线性结构B、链式存储的线性结构C、限制存储点的线性结构D、索引存储的非线性结构23、已知完全二叉树有2008个结点,则整个二叉树有()个度为1的结点.A、0B、1C、2D、不确定24、下列排序方法中,最好情况下,时间复杂度最坏的算法是().A、选择排序B、归并排序C、冒泡排序D、直接插入排序25、下列排序方法中,排序所花费时间复杂度最小的算法是___________。

数据结构的试题及答案

数据结构的试题及答案

数据结构的试题及答案一、选择题(每题2分,共10分)1. 在数据结构中,()是数据元素之间的相互关系的集合。

A. 数据B. 结构C. 存储结构D. 逻辑结构答案:D2. 线性表的顺序存储结构中,存储元素的物理位置是()。

A. 连续的B. 离散的C. 任意的D. 无关的答案:A3. 在二叉树的遍历方法中,先访问根节点,然后遍历左子树,最后遍历右子树的遍历方式是()。

A. 前序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:A4. 哈希表的冲突解决方法中,()是将所有发生冲突的元素存储在同一个链表中。

A. 线性探测B. 链地址法C. 再散列D. 双散列答案:B5. 在图的遍历算法中,深度优先搜索(DFS)算法使用的辅助数据结构是()。

A. 栈B. 队列C. 链表D. 数组答案:A二、填空题(每题2分,共10分)1. 在数据结构中,算法的时间复杂度通常用()表示。

答案:O(n)2. 一个栈的初始状态为空,依次执行了Push(1), Push(2), Pop(), Push(3), Pop()操作后,栈顶元素是()。

答案:13. 在二叉搜索树中,对于任意节点,其左子树中的所有值都()该节点的值。

答案:小于4. 哈希表的装载因子是表中已填入的元素个数与哈希表的()之比。

答案:总容量5. 图的邻接矩阵表示法中,如果两个顶点之间有边相连,则对应的矩阵元素值为()。

答案:1三、简答题(每题5分,共20分)1. 请简述什么是递归,并给出一个递归算法的例子。

答案:递归是一种算法设计技巧,它允许一个函数直接或间接地调用自身。

递归算法的例子是计算阶乘:n! = n * (n-1)!,其中n! = 1当n=0时。

2. 请解释什么是堆排序,并简述其基本步骤。

答案:堆排序是一种基于堆数据结构的比较排序算法。

基本步骤包括构建最大堆,然后重复移除堆顶元素并调整剩余元素以保持最大堆属性。

3. 请描述什么是图的广度优先搜索(BFS)算法,并给出其算法步骤。

数据结构选择题集锦

数据结构选择题集锦

数据结构选择题集锦在计算机科学中,数据结构是指为组织和存储数据而设计的算法和数据的集合。

数据结构可以帮助我们高效地操作和管理数据,是计算机科学中非常重要的概念之一。

本文将为您呈现一些常见的数据结构选择题,帮助您巩固和扩展对数据结构的理解。

1. 在以下数据结构中,哪种数据结构被设计为先进先出(FIFO)的集合?A. 栈B. 队列C. 数组D. 链表正确答案:B. 队列解析:队列是一种线性数据结构,遵循先进先出(FIFO)的原则。

元素只能在队列的一端(称为队尾)添加,而只能从另一端(称为队头)移除。

栈是一种后进先出(LIFO)的集合,因此不符合题目要求。

数组和链表并没有明确的先进先出规则。

2. 假设要实现一个无序的不重复元素集合,以下哪种数据结构是最适合的选择?A. 数组B. 链表C. 哈希表D. 树正确答案:C. 哈希表解析:哈希表可以通过哈希函数将元素映射为唯一的索引值,因此可以在常数时间内实现快速的查找和插入。

对于无序且不重复的元素集合,使用哈希表是最合适的选择。

数组和链表需要遍历整个集合才能确定元素是否存在,效率较低。

树可以实现快速的查找,但需要维护有序性,不适合无序集合。

3. 如果需要对一组元素进行频繁的插入和删除操作,同时要求能快速地找到最小或最大的元素,则以下哪种数据结构最适合?A. 数组B. 链表C. 堆D. 树正确答案:C. 堆解析:堆是一种基于完全二叉树的数据结构,可以在O(log n)的时间复杂度内进行插入和删除操作,并可以快速找出最小或最大的元素。

对于需要频繁插入和删除操作,并且需要快速找到最大或最小元素的场景,堆是最适合的选择。

数组和链表的插入和删除操作效率较低,树需要维护有序性。

4. 在以下情况下,使用栈数据结构是最合适的:A. 实现撤销和前进功能B. 实现图的广度优先搜索C. 实现图的深度优先搜索D. 实现排序算法正确答案:C. 实现图的深度优先搜索解析:栈是一种后进先出(LIFO)的数据结构,适用于图的深度优先搜索(DFS)算法。

数据结构综合习题集(含答案)

数据结构综合习题集(含答案)

数据结构习题集一、选择题1.数据结构中所定义的数据元素,是用于表示数据的。

( C )A.最小单位B.最大单位C.基本单位D.不可分割的单位2.从逻辑上可以把数据结构分为( C )A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、非线性结构D.初等结构、构造型结构3.当待排序序列中记录数较少或基本有序时,最适合的排序方法为(A )A.直接插入排序法B.快速排序法C.堆排序法D.归并排序法4.关于串的的叙述,不正确的是( B)A.串是字符的有限序列B.空串是由空格构成的串C.替换是串的一种重要运算D.串既可以采用顺序存储,也可以采用链式存储5.带表头结点链队列的队头和队尾指针分别为front和rear,则判断队空的条件为(A )A.front==rear B.front!=NULL C.rear!=NULL D.front==NULL6.若构造一棵具有n个结点的二叉排序树,最坏的情况下其深度不会超过(B )A.n/2B.nC.(n+1)/2D.n+17.将两个各有n个元素的有序表合并成一个有序表,其最少的比较次数为(A)A.nB.2n-1C.2nD.n28.设顺序表有19个元素,第一个元素的地址为200,且每个元素占3个字节,则第14个元素的存储地址为(B )A.236B.239C.242D.2459.一个栈的入栈序列是a,b,c,d,e,则栈的输出序列不可能是(A )A.dceabB.decbaC.edcbaD.abcde10.元素大小为1个单元,容量为n个单元的非空顺序栈中,以地址高端为栈底,以top作为栈顶指针,则出栈处理后,top的值应修改为(D )A.top=topB.top=n-1C.top=top-1D.top=top+111.设有一个10阶的对称矩阵A,采用压缩存储方式以行序为主序存储,a00为第一个元素,其存储地址为0,每个元素占有1个存储地址空间,则a45的地址为( B )A.13B.35C.17D.3612.栈和队列( C )A.共同之处在于二者都是先进先出的特殊的线性表B.共同之处在于二者都是先进后出的特殊的线性表C.共同之处在于二者都只允许在顶端执行删除操作D.没有共同之处13.含有n个结点的二叉树用二叉链表表示时,空指针域个数为(C )A.n-1B.nC.n+1D.n+214.对一棵有100个结点的完全二叉树按层序编号,则编号为49的结点,它的左孩子的编号为( B )A.99B.98C.97D.5015.在一个图中,所有顶点的度数之和与图的边数的比是( C)A.1∶2B.1∶1C.2∶1D.4∶116.在一个具有n个顶点的无向图中,要连通全部顶点至少需要的边数为(A )A.n-1B.nC.n+1D.n/217.在一个具有n个顶点的无向图中,每个顶点度的最大值为( B )A.nB.n-1C.n+1D.2(n-1)18.若采用邻接表存储结构,则图的广度优先搜索类似于二叉树的(D )A.先序遍历B.中序遍历C.后序遍历D.层次遍历19.对线性表进行二分查找时,要求线性表必须( C)A.以顺序方式存储B.以链式方式存储C.以顺序方式存储,且结点按关键字有序排列D.以链接方式存储,且结点按关键字有序排列20.二分查找算法的时间复杂度是( D )A.O(n2)B.O(nlog2n)C.O(n)D.O(log2n)21.采用排序算法对n个元素进行排序,其排序趟数肯定为n-1趟的排序方法是( C )A.插入和快速B.冒泡和快速C.选择和插入D.选择和冒泡22. 闭散列表中由于散列到同一个地址而引起的“堆积”现象,是( B)A.由同义词之间发生冲突引起的B.由非同义词之间发生冲突引起的C.由同义词之间或非同义词之间发生冲突引起的D.由散列表“溢出”引起的23.在对查找表的查找过程中,若被查找的数据元素不存在,则把该数据元素插入到集合中。

数据结构试题及答案(十套)

数据结构试题及答案(十套)

数据结构试题及答案(十套)数据结构试题及答案(十套)一、选择题1. 数据结构是指()。

A. 存储数据的方式B. 数据的逻辑结构和物理结构C. 数据的存储结构和存储方式D. 数据的逻辑结构、存储结构和存储方式答案:D2. 在数据结构中,线性表的存储方式包括()。

A. 顺序存储和链式存储B. 数组存储和链表存储C. 顺序存储、链表存储和索引存储D. 顺序存储、链表存储和树形存储答案:A3. 栈是一种()的数据结构。

A. 先进先出B. 先进后出C. 后进先出D. 后进后出答案:C4. 队列是一种()的数据结构。

A. 先进先出B. 先进后出C. 后进先出D. 后进后出答案:A5. 二叉树中,度为0的节点称为()。

A. 叶子节点B. 根节点C. 中间节点D. 子节点答案:A6. 以下哪个排序算法是稳定的?A. 快速排序B. 选择排序C. 插入排序D. 希尔排序答案:C7. 图中表示顶点之间关系的边的数量称为()。

A. 顶点度数B. 边数C. 路径数D. 网络答案:B8. 哈希表通过()来实现高效的查找操作。

A. 散列函数B. 排序算法C. 遍历操作D. 顺序存储答案:A9. 平衡二叉树是一种具有左右子树高度差不超过()的二叉树。

A. 0B. 1C. 2D. 3答案:B10. 在链表中,删除节点的操作时间复杂度是()。

A. O(1)B. O(logn)C. O(n)D. O(nlogn)答案:A二、填空题1. 在顺序存储结构中,元素之间的逻辑关系由()表示。

答案:下标2. 二叉查找树的中序遍历结果是一个()序列。

答案:递增3. 哈希表通过散列函数将关键字映射到()上。

答案:地址4. 图的邻接表中,每个顶点的所有邻接点链接成一个()。

答案:链表5. 位运算符中的左移和右移运算都是对二进制数进行()操作。

答案:移位三、解答题1. 简要介绍顺序存储和链式存储这两种线性表的存储方式,并比较它们的优缺点。

答案:顺序存储是将元素按照逻辑顺序依次存储在一块连续的存储空间中,通过元素的下标可以直接访问到元素。

十套数据结构试题及答案

十套数据结构试题及答案

数据构造试卷〔一〕一、单项选择题〔每题 2 分,共20分〕1.栈和队列的共同特点是( a )。

A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2.用链接方式存储的队列,在进展插入运算时( d ).A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改3.以下数据构造中哪一个是非线性构造?( d )A. 队列B. 栈C. 线性表D. 二叉树4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。

cA.688 B.678 C.692 D.6965.树最适合用来表示( c )。

A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为( d ).A.2k-1 B.2K+1 C.2K-1 D. 2k-17.假设有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进展二分查找,那么查找A[3]的比拟序列的下标依次为( c d)A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.对n个记录的文件进展快速排序,所需要的辅助存储空间大致为 cA. O〔1〕B. O〔n〕C. O〔1og2n〕D. O〔n2〕9.对于线性表〔7,34,55,25,64,46,20,10〕进展散列存储时,假设选用H〔K〕=K %9作为散列函数,那么散列地址为1的元素有〔 c d〕个,A.1 B.2 C.3 D.410.设有6个结点的无向图,该图至少应有( a )条边才能确保是一个连通图。

二、填空题〔每空1分,共26分〕1.通常从四个方面评价算法的质量:____时间正确性_____、____占用内存_易读性____、____复杂度__强壮性___和_____准确度_ 高效率___。

数据结构选择题考试精选

数据结构选择题考试精选

一、单项选择题 (每题1分,共142分)1. 向一个有128个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动(A)个元素。

A.64B.63C.63.5D.72. 线性表是具有n个(C)的有限序列(n≠0)。

A.表元素B.字符C.数据元素D.数据项3. 下列哪种排序方法在最坏的情况下的时间复杂度是O(n*log2n)(B)。

A .直接插入排序 B. 堆排序C. 简单选择排序D. 快速排序4. 数组A[5][6]的每个元素占5个单元,将其按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[4][4]的地址为(A)。

A.1140B.1145C.1120D.11255. 从一个栈顶指针为HS的链栈中删除一个结点时,用x保存被删结点的值,则执行(D)。

A.x=HS;HS=HS->next;B.x=HS->data;C.HS=HS->next;x=HS->data;D.x=HS->data;HS=HS->next;6. 已知含6个顶点(v0,v1,v2,v3,v4,v5)的无向图的邻接矩阵如图所示,则从顶点v0出发进行深度优先遍历可能得到的顶点访问序列为(A)。

A.(v0,v1,v2,v5,v4,v3B.(v0,v1,v2,v3,v4,v5)C.(v0,v1,v5,v2,v3,v4)D.(v0,v1,v4,v5,v2,v3)7. 如下陈述中正确的是(A)。

A.串是一种特殊的线性B.串的长度必须大于零C.串中元素只能是字母D.空串就是空白串8. 在一个长度为n的顺序表中插入一个元素时,等概率情况下的平均移动元素的次数是(A)。

A.n/2B.(n-1)/2 C.n*(n-1)/2 D.(n+1)/29.数据的存储结构包括顺序、链接、散列和(D)4种基本类型。

A.向量B.数组C.集合D.索引10. 在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为(D)。

数据结构选择题集锦

数据结构选择题集锦

(B ) 1.通常所说的主机是指:( C ) 2.在计算机内部,一切信息的存取、处理和传送的形式是:A ) ACSII 码B ) BCD 码C )二进制D )十六进制( D ) 3.软件与程序的区别是:A ) 程序价格便宜、软件价格昂贵;B ) 程序是用户自己编写的,而软件是由厂家提供的;C ) 程序是用高级语言编写的,而软件是由机器语言编写的;D ) 软件是程序以及开发、使用和维护所需要的所有文档的总称,而程序只是软件的一部分。

( C ) 4.所谓“裸机”是指:A )单片机B )单板机操作系统的计算机(D ) 5.应用软件是指:A )所有能够使用的软件B )能被各应用单位共同使用的某种软件C )所有微机上都应使用的基本软件D )专门为某一应用目的而编制的软件(A ) 6. C 语言中的常量可分为整型常量、实型常量、字符型常量及(枚举)四种。

(A )符号常量 (B )长整型常量 (C ) 逻辑常量(D )二进制整数单项选择A) CPUB ) CPU 和内存C ) CPU 、内存与外存D ) CPU 、内存与硬盘C )不装备任何软件的计算机D )只装备 (C ) 7.编译程序的功能是:A )发现源程序中的语法错误 C )将源程序编译成目标程序 级语言程序(A ) 8.系统软件中最重要的是:A )操作系统B )语言处理系统管理系统(C ) 9.可移植性最好的计算机语言是:A )机器语言B )汇编语言B )改正源程序中的语法错误 D )将某一高级语言程序翻译成另一种C )工具软件D )数据库C )高级语言D )自然语言15•计算机算法必须具备输入、输出和 A)可行性、可移植性和可扩充性 C)确定性、有穷性和稳定性(C ) 16.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称 之为:(A )存储结构(B )逻辑结构(C )顺序存储结构(D )链式存储结构(B ) 17•—个向量第一个元素的存储地址是 100,每个元素的长度为2,则第5个元素的地址是 _______(A ) 110( B ) 108( C ) 100( D ) 120 (A ) 18.在n 个结点的顺序表中,算法的时间复杂度是0 (1)的操作是:(A) 访问第i 个结点(K i < n )和求第i 个结点的直接前驱(2< i < n ) (B) 在第i 个结点后插入一个新结点(1< i < n ) (C) 删除第i 个结点(K i w n ) (D)将n 个结点从小到大排序(B ) 19.向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均 要移动_个元素(A ) 8( B ) 63.5( C ) 63( D ) 7(A ) 20.链接存储的存储结构所占存储空间:(A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针关系度方法10. 非线性结构是数据元素之间存在一种: A ) 一对多关系B )多对多关系11. 数据结构中,与所使用的计算机无关的是数据的 C)逻辑A)存储 B)物理 12.算法分析的目的是: A)找出数据结构的合理性 C) 分析算法的效率以求改进 13.算法分析的两个主要方面是: A)空间复杂性和时间复杂性 C) 可读性和文档性 14•计算机算法指的是: A)计算方法B)排序方法C )多对一关系D ) 一对_结构; D)物理和存储B) 研究算法中的输入和输出的关系 D)分析算法的易懂性和文档性B) 正确性和简明性D) 数据复杂性和程序复杂性C)解决问题的有限运算序列 D)调_等5个特性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构选择题集锦单项选择( B ) 1. 通常所说的主机是指∶A) CPU B) CPU和内存C) CPU、内存与外存D) CPU、内存与硬盘( C )2. 在计算机内部,一切信息的存取、处理和传送的形式是∶A) ACSII码B) BCD码C)二进制D)十六进制( D )3. 软件与程序的区别是∶A)程序价格便宜、软件价格昂贵;B)程序是用户自己编写的,而软件是由厂家提供的;C) 程序是用高级语言编写的,而软件是由机器语言编写的;D) 软件是程序以及开发、使用和维护所需要的所有文档的总称,而程序只是软件的一部分。

( C )4. 所谓“裸机”是指∶A) 单片机B)单板机C) 不装备任何软件的计算机D) 只装备操作系统的计算机( D )5. 应用软件是指∶A)所有能够使用的软件B) 能被各应用单位共同使用的某种软件C)所有微机上都应使用的基本软件D) 专门为某一应用目的而编制的软件( A )6. C语言中的常量可分为整型常量、实型常量、字符型常量及(枚举)四种。

(A)符号常量(B)长整型常量(C)逻辑常量(D)二进制整数( C )7. 编译程序的功能是∶A)发现源程序中的语法错误B)改正源程序中的语法错误C)将源程序编译成目标程序D)将某一高级语言程序翻译成另一种高级语言程序( A )8. 系统软件中最重要的是∶A) 操作系统B) 语言处理系统C) 工具软件D) 数据库管理系统( C )9. 可移植性最好的计算机语言是∶A) 机器语言B)汇编语言C) 高级语言D) 自然语言( B )10. 非线性结构是数据元素之间存在一种:A)一对多关系B)多对多关系C)多对一关系D)一对一关系( C )11. 数据结构中,与所使用的计算机无关的是数据的结构;A) 存储B) 物理C) 逻辑D) 物理和存储( C )12. 算法分析的目的是:A) 找出数据结构的合理性B) 研究算法中的输入和输出的关系C) 分析算法的效率以求改进D) 分析算法的易懂性和文档性( A )13. 算法分析的两个主要方面是:A) 空间复杂性和时间复杂性B) 正确性和简明性C) 可读性和文档性D) 数据复杂性和程序复杂性( C )14. 计算机算法指的是:A) 计算方法B) 排序方法C) 解决问题的有限运算序列D) 调度方法( B )15. 计算机算法必须具备输入、输出和等5个特性。

A) 可行性、可移植性和可扩充性B) 可行性、确定性和有穷性C) 确定性、有穷性和稳定性D) 易读性、稳定性和安全性( C )16.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为:(A)存储结构(B)逻辑结构(C)顺序存储结构(D)链式存储结构( B )17.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是(A)110 (B)108 (C)100 (D)120( A )18. 在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是:(A)访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)(B)在第i个结点后插入一个新结点(1≤i≤n)(C)删除第i个结点(1≤i≤n)(D)将n个结点从小到大排序( B )19. 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动个元素(A)8 (B)63.5 (C)63 (D)7( A )20. 链接存储的存储结构所占存储空间:(A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针(B)只有一部分,存放结点值(C)只有一部分,存储表示结点间关系的指针(D)分两部分,一部分存放结点值,另一部分存放结点所占单元数( B )21. 链表是一种采用存储结构存储的线性表;(A)顺序(B)链式(C)星式(D)网状( D )22. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址:(A)必须是连续的(B)部分地址必须是连续的(C)一定是不连续的(D)连续或不连续都可以( B )23.线性表L在情况下适用于使用链式结构实现。

(A)需经常修改L中的结点值(B)需不断对L进行删除插入(C)L中含有大量的结点(D)L中结点结构复杂( C )24.单链表的存储密度(A)大于1;(B)等于1;(C)小于1;(D)不能确定( B )25.设a1、a2、a3为3个结点,整数P0,3,4代表地址,则如下的链式存储结构称为P0 3 4P 0→a13 →a24 →A3(A)循环链表(B)单链表(C)双向循环链表(D)双向链表( B )26. 栈中元素的进出原则是A.先进先出B.后进先出C.栈空则进D.栈满则出( C )27. 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为A.i B.n=i C.n-i+1 D.不确定解释:当p1=n,即n是最先出栈的,根据栈的原理,n必定是最后入栈的(事实上题目已经表明了),那么输入顺序必定是1,2,3,…,n,则出栈的序列是n,…,3,2,1。

(若不要求顺序出栈,则输出序列不确定)( B )28.判定一个栈ST(最多元素为m0)为空的条件是A.ST->top<>0 B.ST->top=0 C.ST->top<>m0 D.ST->top=m0( A )29.判定一个队列QU(最多元素为m0)为满队列的条件是A.QU->rear -QU->front = = m0 B.QU->rear -QU->front -1= = m0C.QU->front = = QU->rear D.QU->front = = QU->rear+1解:队满条件是元素个数为m0。

由于约定满队时队首指针与队尾指针相差1,所以不必再减1了,应当选A。

当然,更正确的答案应该取模,即:QU->front = = (QU->rear+1)% (m0+1)( D )30.数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素的公式为(A)r-f; (B)(n+f-r)% n; (C)n+r-f; ((D)(n+r-f)% n( B )31. 串是一种特殊的线性表,其特殊性体现在:A.可以顺序存储B.数据元素是一个字符C.可以链式存储D.数据元素可以是多个字符( B )32. 设有两个串p和q,求q在p中首次出现的位置的运算称作:A.连接B.模式匹配C.求子串D.求串长( C )33.将5个不同的数据进行排序,至多需要比较次。

A. 8 B. 9 C. 10D. 25( C )34.排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为A. 希尔排序B. 冒泡排序C. 插入排序D. 选择排序( D )35.排序方法中,从未排序序列中挑选元素,并将其依次插入已排序序列(初始时为空)的一端的方法,称为A. 希尔排序B. 归并排序C. 插入排序D. 选择排序( C )36.对n个不同的排序码进行冒泡排序,在下列哪种情况下比较的次数最多。

A. 从小到大排列好的B. 从大到小排列好的C. 元素无序D. 元素基本有序( D )37.对n个不同的排序码进行冒泡排序,在元素无序的情况下比较的次数为A. n+1 B. n C. n-1 D. n(n-1)/2(前3个答案都太小了)( C )38.快速排序在下列哪种情况下最易发挥其长处。

A. 被排序的数据中含有多个相同排序码B. 被排序的数据已基本有序C. 被排序的数据完全无序D. 被排序的数据中的最大值和最小值相差悬殊( B )39.对有n个记录的表作快速排序,在最坏情况下,算法的时间复杂度是A.O(n) B.O(n2) C.O(nlog2n) D.O(n3)( C )40.若一组记录的排序码为(46, 79, 56, 38, 40, 84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为A. 38, 40, 46, 56, 79, 84 B. 40,38, 46 , 79, 56, 84C. 40, 38,46, 56, 79, 84 D. 40, 38,46, 84, 56, 79(A&D )41.在最好情况下,下列排序算法中排序算法所需比较关键字次数最少。

A.冒泡B.归并C.快速D.直接插入(仅n—1次!)( C )42..置换选择排序的功能是。

(置换选择排序=简单选择排序?)A.选出最大的元素B.产生初始归并段C.产生有序文件D.置换某个记录( A )43.将5个不同的数据进行排序,至少需要比较次。

A. 4 B. 5 C. 6 D. 7( D )44.下列关键字序列中,是堆。

A. 16,72,31,23,94,53 B. 94,23, 31, 72, 16, 53 C. 16, 53, 23,94,31, 72 D. 16, 23, 53,31, 94, 72( B )45.堆是一种排序。

A. 插入B.选择C. 交换D. 归并( C )46.堆的形状是一棵A. 二叉排序树B.满二叉树C. 完全二叉树D. 平衡二叉树( B )47.若一组记录的排序码为(46, 79, 56, 38, 40, 84),则利用堆排序的方法建立的初始堆为A. 79, 46, 56, 38, 40, 84 B. 84, 79, 56, 38, 40, 46C. 84, 79, 56, 46, 40, 38 D. 84, 56, 79, 40, 46, 38( B )48.下述几种排序方法中,平均查找长度(ASL)最小的是A. 插入排序B.快速排序C. 归并排序D. 选择排序( C )49.下述几种排序方法中,要求内存最大的是A. 插入排序B.快速排序C. 归并排序D. 选择排序( B )50.目前以比较为基础的内部排序方法中,其比较次数与待排序的记录的初始排列状态无关的是A. 插入排序B. 二分插入排序C. 快速排序D. 冒泡排序。

相关文档
最新文档