数据结构复习题(答案)
数据结构期末试题及答案

数据结构期末试题及答案一、单项选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构和链式存储结构的主要区别在于:A. 数据元素的存储关系B. 数据元素的存储空间C. 数据元素的存储顺序D. 数据元素的存储位置答案:A2. 下列关于栈的描述中,错误的是:A. 栈是一种后进先出(LIFO)的数据结构B. 栈只能进行插入和删除操作C. 栈顶元素可以被访问D. 栈可以进行顺序存储和链式存储答案:B3. 在二叉树的遍历算法中,不使用递归算法的遍历方式是:A. 前序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:D4. 哈希表的冲突解决方法中,不包括以下哪种:A. 开放定址法B. 链地址法C. 线性探测法D. 排序法答案:D5. 在图的遍历算法中,深度优先搜索(DFS)和广度优先搜索(BFS)的主要区别在于:A. 搜索的顺序B. 存储结构C. 遍历的深度D. 遍历的宽度答案:A6. 快速排序算法的时间复杂度最坏情况下为:A. O(n)B. O(nlogn)C. O(n^2)D. O(n^3)答案:C7. 下列关于二叉搜索树的描述中,正确的是:A. 每个节点的左子树只包含小于该节点的键值B. 每个节点的右子树只包含大于该节点的键值C. 以上两个选项都正确D. 以上两个选项都不正确答案:C8. 在非递归的二叉树遍历算法中,通常需要使用的数据结构是:A. 栈B. 队列C. 链表D. 数组答案:A9. 一个有n个顶点的无向图,其边数最多为:A. nB. n(n-1)/2C. n(n+1)/2D. n^2答案:B10. 一个长度为n的数组进行归并排序时,需要的辅助空间大小为:A. O(1)B. O(n)C. O(nlogn)D. O(n^2)答案:B二、填空题(每题2分,共10分)1. 在数据结构中,______是一种特殊的线性表,它的元素个数是固定的。
答案:数组2. 链表中,每个节点包含数据域和______。
数据结构复习习题和答案(DOC)

第一章绪论一、单项选择题1.数据结构是一门研究非数值计算的程序设计问题中计算机的①以及它们之间的②和操作等的学科。
① A.操作对象 B.计算方法 C·逻辑存储 D.数据映象② A.结构 B.关系 C.运算. D.算法2.数据结构被形式地定义为(D,R),其中D是①的有限集合,R是D上的②有限集合。
① A.算法 B.数据元素 C.数据操作 D.逻辑结构② A.操作 B.映象 C、存储 D.关系3.在数据结构中,从逻辑上可以把数据结构分成()。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构4·算法分析的目的是①,算法分析的两个主要方面是②。
① A. 找出数据结构的合理性 B.研究算法中的输入和输出的关系C. 分析算法的效率以求改进D. 分析算法的易懂性和文档性② A. 空间复杂性和时间复杂性 B.正确性和简明性C.可读性和文档性 D.数据复杂性和程序复杂性5.计算机算法指的是①,它必具备输入、输出和②等五个特性。
① A. 计算方法 B.排序方法 C. 解决问题的有限运算序列 D.调度方法② A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性C. 确定性、有穷性和稳定性 D.易读性、稳定性和安全性6. 线性表的逻辑顺序与存储顺序总是一致的,这种说法()。
A. 正确 B.不正确7. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址()。
A. 必须是连续的 B.部分地址必须是连续的C. 一定是不连续的D. 连续或不连续都可以8.数据结构通常是研究数据的()及它们之间的相互联系。
A.存储和逻辑结构 B.存储和抽象C.理想与抽象 D.理想与逻辑9.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为()。
A.存储结构 B.逻辑结构 C.顺序存储结构 D.链式存储结构11.非线性结构是数据元素之间存在一种()。
数据结构复习题及答案5篇

数据结构复习题及答案5篇第一篇:数据结构复习题及答案、数据结构复习题及答案中南大学现代远程教育课程考试(专科)复习题及参考答案数据结构一、判断题:1.数组是一种复杂的数据结构,数组元素之间的关系既不是线性的也不是树形的。
()2.链式存储在插人和删除时需要保持物理存储空间的顺序分配,不需要保持数据元素之间的逻辑顺序。
()3.在只有度为0和度为k的结点的k叉树中,设度为0的结点有n0个,度为k的结点有nk个,则有n0=nk+1。
()4.折半搜索只适用于有序表,包括有序的顺序表和有序的链表。
()5.如果两个串含有相同的字符,则这两个串相等。
()6.数组可以看成线性结构的一种推广,因此可以对它进行插入、删除等运算。
()7.在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。
()8.通常递归的算法简单、易懂、容易编写,而且执行的效率也高。
()9.一个广义表的表尾总是一个广义表。
()10.当从一个小根堆(最小堆)中删除一个元素时,需要把堆尾元素填补到堆顶位置,然后再按条件把它逐层向下调整,直到调整到合适位置为止。
()11.对于一棵具有n个结点,其高度为h的二叉树,进行任一种次序遍历的时间复杂度为O(h)。
()12.存储图的邻接矩阵中,邻接矩阵的大小不但与图的顶点个数有关,而且与图的边数也有关。
()13.直接选择排序是一种稳定的排序方法。
()14.闭散列法通常比开散列法时间效率更高。
()15.有n个结点的不同的二叉树有n!棵。
()16.直接选择排序是一种不稳定的排序方法。
()17.在2048个互不相同的关键码中选择最小的5个关键码,用堆排序比用锦标赛排序更快。
()18.当3阶B_树中有255个关键码时,其最大高度(包括失败结点层)不超过8。
()19.一棵3阶B_树是平衡的3路搜索树,反之,一棵平衡的3路搜索树是3阶非B_树。
()20.在用散列表存储关键码集合时,可以用双散列法寻找下一个空桶。
数据结构试题及答案(十套)

一、单选题(每题 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)的联系时,称这种结构为_____________________。
(完整版)数据结构复习题(附答案)

(完整版)数据结构复习题(附答案)⼀、算法设计题(每题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。
数据结构试题及答案

数据结构试题及答案一、选择题(每题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. 给定一个整数数组,请实现一个函数来找到数组中的最长连续子序列的长度。
数据结构试卷试题及答案
数据结构试卷试题及答案一、选择题(每题5分,共40分)1. 数据结构是研究数据元素的()A. 存储结构B. 处理方法C. 逻辑结构D. 所有以上内容答案:D2. 在数据结构中,通常采用()方式来表示数据元素之间的逻辑关系。
A. 顺序存储结构B. 链式存储结构C. 索引存储结构D. 散列存储结构答案:B3. 下面哪一个不是栈的基本操作?()A. 入栈B. 出栈C. 判断栈空D. 获取栈顶元素答案:D4. 下面哪一个不是队列的基本操作?()A. 入队B. 出队C. 判断队列空D. 获取队头元素答案:D5. 下面哪一个不是线性表的特点?()A. 有且只有一个根节点B. 每个节点最多有一个前驱和一个后继C. 数据元素类型相同D. 数据元素类型可以不同答案:D6. 在下列哪种情况中,使用链式存储结构比顺序存储结构更合适?()A. 数据元素经常插入和删除B. 数据元素大小不固定C. 数据元素个数不确定D. 所有以上情况答案:D7. 下面哪一个不是树的遍历方式?()A. 前序遍历B. 中序遍历C. 后序遍历D. 翻转遍历答案:D8. 在下列哪种情况中,使用散列存储结构比其他存储结构更合适?()A. 数据元素个数较少B. 数据元素查找频繁C. 数据元素插入和删除频繁D. 数据元素大小不固定答案:B二、填空题(每题5分,共30分)9. 栈是一种特殊的线性表,它的插入和删除操作都限定在表的一端进行,这一端称为______。
答案:栈顶10. 队列是一种特殊的线性表,它的插入操作在表的一端进行,这一端称为______,而删除操作在另一端进行,这一端称为______。
答案:队尾、队头11. 二叉树中的节点包括______和______。
答案:根节点、子节点12. 在图的存储结构中,邻接矩阵表示法用______个一维数组来表示图中各个顶点之间的关系。
答案:两个13. 散列存储结构中,关键码到存储地址的映射方法称为______。
数据结构复习题及参考答案
《数据结构》课程复习资料一、填空题:1.设需要对5个不同的记录关键字进行排序,则至少需要比较________次,至多需要比较__________次。
2.设二叉排序树的高度为h,则在该树中查找关键字key最多需要比较_________次。
3.设在长度为20的有序表中进行二分查找,则比较一次查找成功的结点数有_________个,比较两次查找成功有结点数有_________个。
4.数据结构从逻辑上划分为三种基本类型:___________、__________和___________。
5.在一个具有n个顶点的无向完全图中,包含有________条边,在一个具有n个顶点的有向完全图中,包含有________条边。
6.向一棵B_树插入元素的过程中,若最终引起树根结点的分裂,则新树比原树的高度___________。
7.在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为________,整个堆排序过程的时间复杂度为________。
8.在快速排序、堆排序、归并排序中,_________排序是稳定的。
9.在有n个叶子结点的哈夫曼树中,总结点数是_______。
10.一棵树T采用二叉链表存储,如果树T中某结点为叶子结点,则在二叉链表BT中所对应的结点一定_______。
11.3.已知数组A[10][10]为对称矩阵,其中每个元素占5个单元。
现将其下三角部分按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[5,6]对应的地址是_______。
12.在有n个结点的无向图中,其边数最多为_______。
13.取出广义表A=(x,(a,b,c,d))中原子x的函数是_______。
14.对矩阵采用压缩存储是为了___ ____。
15.带头结点的双循环链表L为空表的条件是_______。
16.设线性表中元素的类型是实型,其首地址为1024,则线性表中第6个元素的存储位置是。
17.对于顺序存储的栈,因为栈的空间是有限的,在进行运算时,可能发生栈的上溢,在进行运算时,可能发生栈的下溢。
数据结构复习题 有答案的打印版
一、选择题1.下面关于线性表的叙述中,错误的是哪一个?( B )A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链接存储,不必占用一片连续的存储单元。
D.线性表采用链接存储,便于插入和删除操作。
3.线性表是具有n个( C )的有限序列(n>0)。
A.表元素B.字符C.数据元素D.数据项E.信息项2.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( A )存储方式最节省时间。
A.顺序表B.双链表C.带头结点的双循环链表D.单循环链表3.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。
A.单链表B.仅有头指针的单循环链表C.双链表D.仅有尾指针的单循环链表4. 静态链表中指针表示的是( C ).A.内存地址B.数组下标C.下一元素地址D.左、右孩子地址5. 链表不具有的特点是( B )A.插入、删除不需要移动元素B.可随机访问任一元素C.不必事先估计存储空间D.所需空间与线性长度成正比1. 对于栈操作数据的原则是(B )。
A. 先进先出B. 后进先出C. 后进后出D. 不分顺序2. 有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列?( A )A. 5 4 3 6 1 2B. 4 5 3 1 2 6C. 3 4 6 5 2 1D. 2 3 41 5 63. 设栈的输入序列是1,2,3,4,则(D )不可能是其出栈序列。
A. 1,2,4,3,B. 2,1,3,4,C. 1,4,3,2,D. 4,3,1,2,E. 3,2,1,4,1. 已知数组A[0..9,0..9]的每个元素占5个存储单元,将其按行优先次序存储在起始地址为1000的连续的内存单元中,求A[6,8]的地址。
13402. 已知二维数组A[1..10,0..9]中每个元素占4个单元,在按行优先方式将其存储到起始地址为1000的连续存储区域时,求A[5,9]的地址。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
选择题:1、与顺序表相比,用链表表示线性表的优点是()。
A. 便于随机存取B. 便于元素的插入和删除操作C. 存储的密度较高D. 元素的物理顺序与逻辑顺序一致2、以下数据结构中,()是线性结构。
A. 无向网B. 队列C. 二叉检索树D. 有向无环3、在长度为n的顺序表中,向第k个元素(1≤k≤n+1)之前插入一个新元素时,需向后移动()个元素。
A. n-kB. n-k+1C. n-k-1D. k4、在长度为n的顺序表中,删除第k个元素(1≤k≤n+1)时,需向前移动()个元素。
A. n-kB. n-k+1C. n-k-1D. k5、与顺序栈相比,链栈的主要优点在于()。
A. 入栈操作更加方便B. 出栈操作更加方便C. 通常不会出现栈满D. 通常不会出现栈空6、用大小为n的一维数组S存储一个栈,令S[0]为栈底,变量top表示当前栈顶的位置(下标),即S[top]为栈顶元素。
则,元素出栈后top应做如下()的修改。
A. top--;B. top++;C. top = n-1;D. top = -1;7、以链表作为栈的存储结构,令Sp为栈顶指针,栈空的判定条件是()。
A. Sp == NULLB. Sp >= -1C. Sp != NULLD. Sp != -18、在一个单链表中,若要删除指针p所指向结点的后继结点,则需执行()中的语句。
A. p->next=p->next->next;B. p=p->next; p->next=p->next->next;C. p=p->next->next;D. p->next=p;9、设栈S和队列Q的初始状态为空,元素a1,a2,a3,a4,a5,a6先后进入栈S,一个元素出栈后即进入队列Q,若6个元素的出队顺序是a2,a4,a3,a6,a5,a1,则栈S至少可以容纳()个元素。
A. 3B. 4C. 5D. 610、若进栈序列为a1、a2、a3、a4,进栈过程允许出栈,则下列出栈序列中,()是不可能的。
A. a1、a3、a4、a2B. a2、a4、a3、a1C. a3、a4、a2、a1D. a1、a4、a2、a311、设有一个大小为m的数组表示循环队列,若f表示当前队头元素在数组中的前一位置,r表示队尾元素的所在位置,则计算队列中元素个数的表达式为()。
A. r-fB. (m-f-r) % mC. (m+f-r) % mD. (m+r-f) % m12、在大小为n的循环队列中,假定front指示队头的位置,rear指示队尾的后一位置,则判定队空的条件是()。
A. rear==n-1B. (front+1) % n==rearC. front==rearD. front==(rear+1) % n13、深度为7的二叉树至多有()个结点。
A. 127B. 255C. 128D. 25614、n个结点的二叉树,其最小深度是()。
A. log2n+1B. log2nC. n/2D. n15、设二叉树中任一结点的值大于其左子树中每个结点的值,而小于其右子树中每个结点的值,即它是一个二叉排序树。
则中序遍历该二叉树时,访问结点的序列是一个值()的序列。
A. 递减B. 递增C. 先递减后递增D. 先递增后递减16、以顺序存储方式将完全二叉树中的所有结点逐层存放于数组A中,结点A[i]若有左孩子,则结点()是其左孩子。
A. A[2*i]B. A[2*i+1]C. A[2*i+2]D. A[i/2]17、由3个结点可以构成()棵形态不同的树,或构成()棵形态不同的二叉树。
A. 2B. 3C. 4D. 518、在下列存储形式中,()不适合于树。
A. 双亲表示法B. 孩子链表表示法C. 孩子兄弟表示法D. 顺序存储表示法19、某二叉树如图所示,对该二叉树进行中序遍历,结点的访问序列为( )。
A. 1, 2, 3, 4, 5, 6, 7B. 1, 2, 4, 6, 3, 5, 7C. 2, 6, 4, 1, 5, 7, 3D. 6, 4, 2, 1, 3, 5, 720、某二叉树如图所示,对该二叉树进行先序遍历的结点序列为( )。
A. 1, 2, 3, 4, 5, 6, 7B. 1, 2, 4, 6, 7, 3, 5C. 2, 6, 4, 7, 1, 5, 3D. 6, 7, 4, 2, 5, 3, 121、有n 个顶点的无向完全图中,具有( )条边。
A. n(n-1)/2B. n(n-1)C. n(n+1)/2D. n 222、对于一个具有n 个顶点的图,若采用邻接矩阵表示,则矩阵中元素的个数为( )。
A. nB. (n-1)2C. (n+1)2D. n 223、对图所示的无向图G ,从顶点①开始,广度优先遍历,可能的顶点访问顺序为( )。
A. ①, ②, ③, ④, ⑤, ⑥, ⑦, ⑧B. ①, ②, ⑥, ③, ④, ⑦, ⑧, ⑤C. ①, ②, ⑥, ③, ④, ⑤, ⑦, ⑧D. ①, ②, ③, ⑤, ④, ⑥, ⑦, ⑧24、对上一题的图G ,从顶点①开始,深度优先遍历,则可能的顶点访问顺序为( )。
A. ①, ②, ③, ④, ⑤, ⑥, ⑦, ⑧B. ①, ②, ⑥, ③, ④, ⑦, ⑧, ⑤C. ①, ②, ⑥, ③, ④, ⑤, ⑦, ⑧D. ①, ②, ③, ⑤, ④, ⑥, ⑦, ⑧25、有向图G 有n 个顶点,其邻接矩阵为A (二维数组),G 中第k 个顶点的度为( )。
A.∑-=1k 0i ]i ][i [A B. ∑-=-1n 0i ]i ][1k [A C. ∑∑-=-=-+-1n 0i 1n 0i ]1k ][i [A ]i ][1k [A D. ∑-=-1k 0i ]1k ][i [A +∑-=-1k 0i ]i ][1k [A26、采用顺序检索的方法检索长度为n的顺序表,检索每个元素的平均比较次数(即平均检索长度)为()。
A. nB. n/2C. (n+1)/2D. (n-1)/227、设检索表(a1, a2, a3, ..., a32)中有32条记录,且已按关键字递增有序排列,采用二分法检索一个与给定的键值K相等的记录,若a1.key<K<a2.key,则检索过程中K与记录关键字的比较次数为()。
A. 3B. 4C. 5D. 628、哈希检索的基本思想是依据关键字值的简单换算来决定()。
A. 记录的存储地址B. 记录的序号C. 平均检索长度D. 哈希表空间29、设有一个用线性探测法解决冲突得到的哈希表(哈希函数:H(key) = key % 11):若要检索关键字值为14的记录,探测(比较)的次数是()。
A. 1B. 6C. 7D. 830、设计一个用线性探测法解决冲突的哈希表(哈希函数:H(key)=key % 17),其地址区间为0..16,现将关键字值分别为26、25、72、38、8、18、59的记录依次存储到哈希表中。
关键字值为59的记录在哈希表中的地址(下标)是()。
A. 8B. 9C. 10D. 1131、用直接插入排序法对下面4个序列进行递增(由小到大)排序,元素比较次数和移动次数最少的是()。
A. 10, 3, 4, 9, 8, 6, 2, 7B. 2, 3, 6, 4, 8, 7, 9, 10C. 3, 4, 2, 6, 7, 10, 9, 8D. 9, 7, 8, 6, 2, 3, 10, 432、对10个记录的序列:4, 3, 6, 9, 7, 1, 2, 5, 0, 8进行排序,若采用快速排序,一趟分割之后序列的次序是()。
A. 3, 4, 6, 9, 1, 7, 2, 5, 0, 8B. 0, 3, 2, 1, 4, 7, 9, 5, 6, 8C. 3, 4, 6, 1, 7, 2, 5, 0, 8, 9D. 1, 2, 5, 0, 8, 4, 3, 6, 9, 733、对10个记录的序列:4, 3, 6, 9, 7, 1, 2, 5, 0, 8用归并排序方法进行一趟归并后的结果为()。
A. 3, 4, 6, 9, 1, 7, 2, 5, 0, 8B. 0, 3, 2, 1, 4, 7, 9, 5, 6, 8C. 3, 4, 6, 1, 7, 2, 5, 0, 8, 9D. 1, 2, 5, 0, 8, 4, 3, 6, 9, 734、以下排序算法中,时间复杂度最高的是()。
A. 希尔排序B. 归并排序C. 冒泡排序D. 堆排序35、以下排序算法中,需要附加的内存空间最小的是()。
A. 归并排序B. 快速排序C. 堆排序D. 树形选择排序36、以下排序算法中,时间复杂度最小的是()。
A. 二分插入排序B. 直接选择排序C. 冒泡排序D. 归并排序37、对n个元素进行快速排序,所需要的辅助存储空间为()。
A. O(1)B. O(n)C. O(log2n)D. O(n2)是非题:1、在顺序表中定位第i个元素所花费的时间与i成正比。
(×)2、在单链表中访问第i个元素所花费的时间与i成正比。
(√)3、链式存储结构的优点是存储密度大,且插入和删除运算的效率高。
(×)4、栈和队列都是顺序存储的线性结构。
(×)5、“后进先出”不符合栈的特性。
(×)6、一个2维数组可以视为其数据元素是1维数组的线性表。
(√)7、空表就是所有元素都为0的表。
(×)8、顺序存储结构不仅适宜表示完全二叉树,也完全适宜表示一般的二叉树。
(×)9、二叉树先序遍历序列的最后一个结点,必是其中序遍历序列中的最后一个结点。
(×)10、不使用递归也能实现二叉树的遍历。
(√)11、一个无向图的邻接表中表结点的个数与边的个数一致。
(×)12、一个有向图的邻接表和逆邻接表中表结点的个数不一定相等。
(×)13、邻接表只能用于有向图的存储。
(×)14、邻接矩阵只能用于表示无向图的顶点关系。
(×)15、n(n>3)个带权叶子结点可以构成多棵哈夫曼树(最优二叉树)。
(√)16、无向连通网存在最小生成树问题,而有向图不存在最短路径问题。
(×)17、运用二分检索时,检索表中的元素必需以关键字递增(由小到大)有序排列。
(×)18、哈希表中若不存在地址冲突或同义词,则其成功检索的平均检索长度等于1。
(√)19、二路归并排序的核心操作是将两个有序序列合并为一个有序序列。
(√)20、顺序检索表中的记录关键字递减(由大到小)有序时,不宜运用折半检索。
(×)21、通常,选择排序比插入排序的元素交换次数要少。
(√)22、对n 个元素的集合进行归并排序时,需要的辅助存储空间为O(log 2n)。