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

数据结构期末试题及答案一、单项选择题(每题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. 链表中,每个节点包含数据域和______。
数据结构期末考试试题及答案

数据结构期末考试试题及答案一、选择题1. 以下哪种数据结构是线性存储结构?A. 树B. 图C. 栈D. 队列答案:C2. 在链表中,如果一个节点既没有前驱也没有后继,那么这个节点被称作什么?A. 首节点B. 尾节点C. 中间节点D. 孤立节点答案:B3. 树的度是指什么?A. 树中节点的个数B. 树中最大的层次数C. 树的分支数D. 树的节点的度的最大值答案:C4. 在二叉搜索树中,若要查找给定值的节点,当查找失败时应返回的值是?A. -1B. 0C. 1D. 该值本身答案:A5. 快速排序算法的时间复杂度最坏情况下是多少?A. O(n)B. O(nlogn)C. O(n^2)D. O(n!)答案:C二、填空题1. 在顺序表中,元素的物理位置相邻的特点是________,这使得顺序表在________操作上具有较高的效率。
答案:连续性;访问2. 链表相比顺序表的优势在于它能够动态地________存储空间,并且________操作不需要移动大量元素。
答案:分配和释放;插入与删除3. 栈是一种________的数据结构,只允许在________进行插入和删除操作。
答案:后进先出;栈顶4. 图的遍历算法主要有两种,分别是________和________。
答案:深度优先搜索;广度优先搜索5. 哈夫曼树是一种特殊的二叉树,它常用于数据压缩,其构建过程是基于________原则。
答案:最小权值三、简答题1. 请简述数组和链表的优缺点。
答案:数组通过索引直接访问元素,访问速度快,但大小固定,插入和删除操作需要移动大量元素。
链表元素通过指针连接,可以动态分配大小,插入和删除效率高,但访问速度较慢,因为需要从头开始遍历。
2. 什么是二叉树的前序遍历、中序遍历和后序遍历?答案:二叉树的前序遍历是先访问根节点,然后遍历左子树,最后遍历右子树。
中序遍历是先遍历左子树,然后访问根节点,最后遍历右子树。
后序遍历是先遍历左子树,然后遍历右子树,最后访问根节点。
《数据结构》期末考试试卷试题及答案

《数据结构》期末考试试卷试题及答案第一部分:选择题(每题2分,共20分)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. 下面哪个数据结构用于实现最小树算法?A. 栈B. 队列C. 散列表D. 堆8. 下面哪个数据结构用于实现拓扑排序算法?A. 栈B. 队列C. 散列表D. 堆9. 下面哪个数据结构用于实现最短路径算法?A. 栈B. 队列C. 散列表D. 堆10. 下面哪个数据结构用于实现并查集算法?A. 栈B. 队列C. 散列表D. 堆第二部分:填空题(每题2分,共20分)1. 链表是一种______数据结构。
2. 二叉树的节点最多有______个子节点。
3. 堆是一种特殊的______。
4. 散列表的查找效率取决于______。
5. 图的遍历算法包括______和______。
6. 快速排序算法的平均时间复杂度为______。
7. 哈希表中的冲突解决方法有______和______。
8. 最小树算法包括______和______。
9. 最短路径算法包括______和______。
10. 并查集算法用于解决______问题。
第三部分:简答题(每题10分,共50分)1. 请简述栈和队列的区别。
2. 请简述二叉搜索树的特点。
3. 请简述哈希表的原理。
4. 请简述图的深度优先搜索算法。
5. 请简述最小树算法的原理。
第四部分:编程题(每题20分,共50分)1. 编写一个函数,实现链表的插入操作。
数据结构期末考试复习题资料

数据结构期末考试复习题资料一.单项选择题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.在一棵高度为k 的满二叉树中,结点总数为()。
A.2k-1 B.2k C.2k-1 D.⎣log 2 k ⎦+ 17.在下列存储形式中,哪一个不是树的存储形式?()A.双亲链表表示法B.孩子链表表示法C.孩子兄弟链表表示法D.顺序存储表示法8.n 个结点的完全有向图含有边的数目为()。
A.n*n B.n*(n+1) C.n/2 D.n*(n-1)9.n 个顶点的强连通图至少有()条边。
A.n B.n-1 C.n+1 D.n(n-1)10、高度为k 的二叉树的最大结点数为()。
A、2kB、2k-1C、2k–1D、2k-1–111、下列哪一种图的邻接矩阵是对称矩阵?()A、有向图B、无向图C、AOV 网D、AOE 网12、在下列存储形式中,哪一个不是树的存储形式?()A、双亲表示法B、孩子表示法C、孩子兄弟表示法D、顺序存储表示法13、下面哪一方法可以判断出一个有向图是否有环。
()A、深度优先遍历B、拓扑排序C、求最短路径D、广度优先遍历14.适用于折半查找的表的存储方式及元素排列要求为()。
A.链接方式存储,元素无序B.链接方式存储,元素有序C.顺序方式存储,元素无序D.顺序方式存储,元素有序15、一个算法应该是()。
A、程序B、特定问题求解步骤的描述C、要满足五个基本特性D、A 和C16、算法分析的两个主要方面是()。
数据结构期末复习题

数据结构期末复习题习题⼀绪论习题答案1.1 1. AB2. BD3. C4. AB5. CA6. CB7. B8. D9. B 10. B1.2 1. 线性结构、树形结构、图形结构、⾮线性结构2. 没有、1、没有、13. 前驱、1、后续、任意多个4. 任意多个5. ⼀对⼀、⼀对多、多对多6. 有穷性、确定性、可⾏性、输⼊、输出7. O(m*n)8. O (n 1 2)9. O (n2)10. log3n1.1 单项选择题1. 数据结构是⼀门研究⾮数值计算的程序设计问题中计算机的①以及它们之间的②和运算等的学科。
①A.操作对象B.计算⽅法C.逻辑存储D.数据映象②A.结构B.关系C.运算D.算法2. 数据结构被形式地定义为(K,R),其中K是①的有限集合,R是K上的②有限集合。
①A.算法B.数据元素C.数据操作D.逻辑结构②A.操作B.映象C.存储D.关系3. 在数据结构中,从逻辑上可以把数据结构分成①。
A.动态结构和静态结构B.紧凑结构和⾮紧凑结构C.线性结构和⾮线性结构D.内部结构和外部结构4. 线性表的顺序存储结构是⼀种①的存储结构,线性表的链式存储结构是⼀种②的存储结构。
A.随机存取B.顺序存取C.索引存取D.散列存取5. 算法分析的⽬的是①,算法分析的两个主要⽅⾯是②。
① A. 找出数据结构的合理性 B. 研究算法中的输⼊和输出的关系C. 分析算法的效率以求改进D. 分析算法的易懂性和⽂档性② A. 空间复杂性和时间复杂性 B. 正确性和简明性C. 可读性和⽂档性D. 数据复杂性和程序复杂性6. 计算机算法指的是①,它必具备输⼊、输出和②等五个特性。
①A. 计算⽅法 B. 排序⽅法C. 解决问题的有限运算序列D. 调度⽅法②A. 可⾏性、可移植性和可扩充性 B. 可⾏性、确定性和有穷性C. 确定性、有穷性和稳定性D. 易读性、稳定性和安全性7. 线性表的逻辑顺序与存储顺序总是⼀致的,这种说法①。
数据结构期末考试题及答案

数据结构期末考试题及答案一、选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构通常使用什么数据结构来实现?A. 链表B. 数组C. 栈D. 队列答案:B2. 以下哪个是二叉树的性质?A. 每个节点最多有两个孩子B. 每个节点最多有三个孩子C. 每个节点最多有四个孩子D. 每个节点最多有五个孩子答案:A3. 在图的遍历算法中,深度优先搜索(DFS)和广度优先搜索(BFS)的区别是什么?A. DFS使用队列,BFS使用栈B. DFS使用栈,BFS使用队列C. DFS和BFS都使用栈D. DFS和BFS都使用队列答案:B...20. 以下哪个排序算法的时间复杂度为O(n^2)?A. 冒泡排序B. 选择排序C. 插入排序D. 所有上述排序算法答案:D二、简答题(每题10分,共30分)1. 简述链表和数组的区别。
答案:链表和数组都是用来存储数据的线性数据结构。
数组是连续的内存空间,可以随机访问,但插入和删除操作效率较低;链表由一系列节点组成,每个节点包含数据部分和指向下一个节点的指针,不支持随机访问,但插入和删除操作较为高效。
2. 什么是递归?请给出一个递归算法的例子。
答案:递归是一种算法设计技术,它允许函数调用自身来解决问题。
递归通常包含基本情况和递归情况。
例如,计算阶乘的递归算法:f(n) = n * f(n-1),其中基本情况是f(1) = 1。
...三、算法设计题(每题25分,共50分)1. 给定一个整数数组,请设计一个算法找出数组中的第k大元素。
答案:可以采用快速选择算法,类似于快速排序的划分过程,通过随机选择一个元素作为基准,将数组分为两部分,一部分包含比基准大的元素,另一部分包含比基准小的元素。
然后根据k与基准元素的位置关系,决定是继续在左侧子数组还是右侧子数组中进行查找。
2. 描述如何使用哈希表解决字符串匹配问题。
答案:哈希表可以用于实现字符串匹配的KMP算法。
首先,构建模式字符串的前缀函数,该函数用于记录模式字符串中每个位置的最长相同前缀和后缀的长度。
《数据结构》期末考试复习题及参考答案

数据结构复习题(课程代码 252259)一、填空题(本大题共40小题)1.队列中是按照______先进先出______的原则进行数据元素的增删。
2.___栈__又称为LIFO表。
3.在顺序存储的完全二叉树中,若编号为i的结点有左孩子结点,则其右孩子结点的编号为___2i+1___。
4.存储地址与关键字之间存在某种映射关系的存储结构为_______散列存储结构_______。
5.在串S=“structure”中,以r为首字符的子串有_9_个。
6.设有整型二维数组M[4][3],每个元素(整数)占2个存储单元,元素按行的顺序存储,数组的起始地址为200,元素M[1][1]的地址是___208____。
7.在一个具有n个顶点的无向完全图中,包含有___ n(n-1)/2_____条边,在一个具有n个顶点的有向完全图中,包含有__ n(n-1)______条边。
8.假定一个线性表为(12,23,74,55,63,40),若按Key % 4条件进行划分,使得同一余数的元素成为一个子表,则得到的四个子表分别为_____(12,40)()(74)(23,55,63)____。
9.向一棵B_树插入元素的过程中,若最终引起树根结点的分裂,则新树比原树的高度____增加1______。
10.在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为__ O(log2n)______,整个堆排序过程的时间复杂度为__ O(nlog2n)______。
11.在快速排序、堆排序、归并排序中,____归并_____排序是稳定的。
12.一棵深度为5的满二叉树中的结点数为_______31_______个。
13.在含n个顶点和e条边的无向图的邻接矩阵中,非零元素的个数为__2e __。
14.从一棵二叉排序树中查找一个元素时,若元素的值大于根结点的值,则继续向____右子树____查找。
15._____拓朴排序______可以判断出一个有向图中是否有环。
数据结构期末考试题及答案

数据结构期末考试题及答案一、选择题(每题2分,共10题)1. 数据结构是指()A. 存储和组织数据的方式B. 对数据进行计算和处理的方法C. 数据的物理表示形式D. 数据的逻辑结构答案:A. 存储和组织数据的方式2. 在数据结构中,栈是一种()A. 先进先出的数据结构B. 后进先出的数据结构C. 随机存取的数据结构D. 按键值查找的数据结构答案:B. 后进先出的数据结构3. 下列哪种数据结构不支持随机访问?()A. 队列B. 栈C. 数组D. 链表答案:D. 链表4. 在二叉树中,每个节点最多可以有几个子节点?()A. 0B. 1C. 2D. 无限多答案:C. 25. 在图的表示方法中,邻接矩阵适用于()A. 稠密图B. 稀疏图C. 有向图D. 无向图答案:A. 稠密图6. 下列排序算法中,最坏情况时间复杂度为O(nlogn)的是()A. 冒泡排序B. 插入排序C. 快速排序D. 选择排序答案:C. 快速排序7. 广度优先搜索算法用于()A. 求最短路径B. 求全排列C. 求最小生成树D. 求图的连通分量答案:A. 求最短路径8. 哈希表的查找时间复杂度为()A. O(1)B. O(n)C. O(logn)D. O(n^2)答案:A. O(1)9. AVL树是一种()A. 无序树B. 有序树C. 平衡树D. 非平衡树答案:C. 平衡树10. 以下哪个不属于基本的查找算法?()A. 二分查找B. 插值查找C. 散列查找D. 顺序查找答案:C. 散列查找二、填空题(每题4分,共4题)11. 下列不是线性表的是()答案:二叉树12. 在冒泡排序中,每一轮的比较次数是________答案:n-113. 在堆排序中,堆的建立时间复杂度为________答案:O(n)14. 从一个顶点到其余各顶点的最短路径算法是________答案:Dijkstra算法三、简答题(每题10分,共3题)15. 请简要说明栈的应用场景,并给出一个具体实例。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构期末复习题一、选择题1、以下说法中不正确得就是(D)。
A、数据元素就是数据得基本单位B、数据项就是不可分割得最小可标识单位C、数据可由若干个数据元素构成D、数据项可由若干个数据元素构成2、计算机所处理得数据一般具备某种内在联系,这就是指(B)。
A、数据与数据之间存在某种关系B、元素与元素之间存在某种关系C、元素内部具有某种结构D、数据项与数据项之间存在某种关系3、在数据结构中,与所使用得计算机无关得就是数据得(A)结构。
A、逻辑B、存储C、逻辑与存储D、物理4、数据得逻辑结构可以分为(C)两类。
A、动态结构与静态结构B、紧凑结构与非紧凑结构C、线性结构与非线性结构D、内部结构与外部结构5、数据得逻辑结构就是指(A)关系得整体。
A、数据元素之间逻辑B、数据项之间逻辑C、数据类型之间D、存储结构之间6、以下数据结构中(D)属非线性结构。
A、栈B、串C、队列D、平衡二叉树7、以下属于逻辑结构得就是(C)。
A、顺序表B、哈希表C、有序表D、单链表8、以下不属于存储结构得就是(A)。
A、栈B、线索二叉树C、哈希表D、双链表9、在计算机中存储数据时,通常不仅要存储个数据元素得值,而且还要存储(C)。
A、数据得处理方法B、数据元素得类型C、数据元素之间得关系D、数据得存储方法10、数据结构在计算机内存中得表示就是指(A)。
A、数据得存储结构B、数据结构C、数据得逻辑结构D、数据元素之间得关系11、在数据得存储结构中,一个结点通常存储一个(B)。
A、数据项B、数据元素C、数据结构D、数据类型12、在决定选择何种类型得存储结构时,一般不多考虑(A)。
A、各结点得值如何B、结点个数得多少C、对数据有哪些运算D、所用编程语言实现这种结构就是否方便13、计算机中算法指得就是解决某一问题得有限运算序列,它必须具备输入、输出、(B)。
A、可行性、可移植性与可扩充性B、可行性、有穷性与正确性C、正确性、有穷性与稳定性D、易读性、稳定性与正确性14、以下关于算法得说法正确得就是(D)。
A、算法最终必须由计算机程序实现B、算法等同于程序C、算法得可行性就是指指令不能有二义性D、以上几个都就是错误得15、算法得时间复杂度与(A)有关。
A、问题规模B、计算机硬件性能C、编译程序质量D、程序设计语言16、算法得主要任务之一就是分析(D)。
A、算法就是否具有较好得可读性B、算法中就是否存在语法错误C、算法得功能就是否符合设计要求D、算法得执行时间与问题规模之间得关系17、某算法得时间复杂度为O(n2),表明该算法得(B)。
A、问题规模就是n2B、执行时间等于n2C、执行时间与n2成正比D、问题规模与n2成正比18、算法分析得目得就是(C)。
A、找出数据结构得合理性B、研究算法中输入与输出得关系C、分析算法得效率以求改进D、分析算法得易读性与文档性19、以下函数中时间复杂度最小得就是(D)。
A、n㏒2n+5000nB、n2-8000nC、n㏒2n-6000nD、20000㏒2n20、以下函数中时间复杂度最小得就是(A)。
A、1000㏒2nB、n㏒2n-1000㏒2nC、n2-1000㏒2nD、2n㏒2n-1000㏒2n二、判断题1、线性表中每个元素都有一个前趋元素与一个后继元素。
(X)2、线性表中所有元素得排列顺序必须有小到大或由大到小。
(X)3、静态链表既有顺序存储得优点,又有动态链表得优点,所以,利用它存取表中第i个元素得时间与元素个数n无关。
(X)4、静态链表与动态链表在元素得插入、删除方面类似,不需做元素得移动。
(√)5、线性表得顺序存储结构优于链式存储结构。
(X)6、在循环单链表中,从表中任一结点出发都可以通过前后移动操作遍历整个循环链表。
(X)7、在单链表中,可以从头结点开始查找任何一个结点。
(√)8、在双链表中,可以从任一结点开始沿同一方向查找到任何其她结点。
(X)9、顺序存储结构只能用于存放线性表。
(X)10、线性表得逻辑结构总与其物理顺序一致。
(X)11、顺序表具有随机存取特性。
(√)12、单链表不具有随机存储特性,而双链表具有随机存取特性。
(X)13、顺序栈中元素值得大小就是有序得。
(X)14、在n个元素进栈后,它们得出栈顺序与进栈顺序一定正好相反。
(X)15、栈就是一种对进栈、出栈操作得次序做了限制得线性表。
(X)16、队列就是一种对进栈、出栈操作得次序做了限制得线性表。
(X)17、n个元素进队列得顺序与出队列得顺序总就是一致得。
(√)18、顺序队列中有多少元素,可以根据队首指针与队尾指针得值来计算。
(√)19、串长度为串中不同字符得个数。
(X)20、空串就就是有空格构成得串。
(X)三、填空题1、线索二叉树中左线索指向其()结点,右线索指向其()结点。
前趋;后继2、有n 个顶点得无向图最多有()条边,而有向图最多有()条弧。
n(n-1)/2 ;n(n-1)3、图得邻接矩阵与邻接表存储结构中,邻接()就是唯一得,邻接()就是不唯一得。
矩阵;表4、用邻接矩阵存储一个不带权有向图G ,其第i 行得所有元素之与等于顶点i 得(),而第i 列得所有元素之与等于顶点i 得()。
出度;入度5、对n 个顶点得连通图来说,它得生成树一定有()条边,它就是该图得一个()连通分量。
n-1;极小6、Prim 算法特别适合求()图得最小生成树,Kruskal 特别适合求()图得最小生成树。
稠密;稀疏7、一个线性表采用折半查找时,该线性表必须具有得特点就是顺序存储且();而分块查找法要求将待查找表均匀地分成若个块且块中诸记录得顺序可以就是任意得,但块与块之间()。
有序;有序8、高度为8得平衡二叉树得结点数最少有()个,最多有()个。
54;2559、堆排序就是一种()排序方法,堆实质上就是一棵()二叉树。
选择;完全10、对含有n 个元素得数据序列进行冒泡排序,其中关键字比较最多得次数就是(),关键字比较最少得次数就是()。
n(n-1)/2;n-11. 重要知识点:构造二叉树1. 前序遍历序列为ABDCEFG ,中序遍历序列为DBAFEGC ,写出构造二叉树得过程。
答:⑴由前序序列知A 为根结点,由中序序列知DB 为左子树而FEGC 为右子树,如图(a)所示。
⑵其次由前序序列确定左右子树得根结点为B 与C,由中序序列知D 为B 得左孩子,B 无右孩子,FEG 为C 得左子树,C 无右子树,如图(b)所示。
⑶由前序序列确定C 得左子树得根结点为E ,由中序序列知F 为E 得左孩子而G 为E (c)所示。
2. A 树,如图(a)所示。
E A B C G KF D H I J B A C D F EG B A C F DG E A ECF DGB B A C D F E G B A C F DG E A ECF DGB B A C D F E G G B A C D F E G G B A C D F E G G B A C D F E GH JI K B A C D F E G HJ IK B A C D F E G HJ IK B A C D F E G H I K B A C D F E G H I KB A E ⑵其次由前序序列确定左右子树得根结点为B 与C,由中序序列知DG 为B 得左孩子,B 无右孩子,E 为C 得左孩子,F 为C 得右孩子,如图(b)所示。
⑶由前序序列确定B 得左子树得根结点为D ,由中序序列知G 为D 得右孩子D 无左孩子,这样就得到最终恢复得二叉树如图(c)所示。
图(a) 图(b) 图(c) 3、中序遍历序列为DGBAECF ,后序遍历序列为GDBEFCA ,写出构造二叉树得过程。
答:⑴由后序序列知A 为根结点,由中序序列知DGB 为左子树而ECF 为右子树,如图(a)所示。
⑵其次由后序序列确定左右子树得根结点为B 与C,由中序序列知DG 为B 得左孩子,B 无右孩子,E 为C 得左孩子,F 为C 得右孩子,如图(b)所示。
⑶由后序序列确定B 得左子树得根结点为D ,由中序序列知G 为D 得右孩子D 无左孩子,这样就得到最终恢复得二叉树如图(c)所示。
图(a) 图(b) 图(c) 2. 重要知识点:给定树构造与其对应得二叉树 1. 给定下树,写出与其对应二叉树得转化过程。
图1图2 解:对于图1:⑴连兄弟:⑵断孩子: ⑶顺时针旋转45度: 对于图2: (1)连兄弟: (2)断孩子:(3)顺时针旋转45度: 3. 重要知识点:给定森林构造与其对应得二叉树 1、给定下森林,写出该森林与其对应二叉树得转化过程。
图3 解:(1)连兄弟:(2)断孩子:(3)顺时针旋转45度:v 2v 1v 3v 5v 4v 6V 1V 8V 7V 2V 3V 4V 5V 623215441136V 1V 8V 7V 2V 3V 4V 5V 6232154411361721352183215172135212532154. 重要知识点:图得邻接矩阵与邻接表1. 请构造出下面有向图得邻接表与逆邻接表图4解:邻接表:逆邻接表:5. 重要知识点:图得深度优先搜索遍历 1. 从顶点v1与v4开始进行深度优先遍历, 写出顶点访问序列与深度优先生成树。
图5 解:深度优先搜索遍历序列(分别从V1与V4开始)分别如下: V1—V2—V4—V3—V5—V6—V7—V8 V4—V2—V1—V3—V5—V6—V7—V8 相应得深度优先生成树如图所示: 6. 重要知识点:Prim 算法1. 从顶点V1开始用普利姆算法得到最小生成树。
图6 解:使用Prim 算法求得得最小生成树得过程如下图所示: 7. 重要知识点:二叉检索树 1. 对于一组记录其关键字序列为(18,5,10,15,12,11,20),要建立一颗平衡得二叉检索树,请给出构造过程。
解:构造平衡二叉检索树得过程如下图所示: 8. 重要知识点:哈希检索1. 给定关键字序列(19,14,23,1,68,20,84,27,55,11,10,79),设哈希表长为13,哈希函数为h(k)=k%13。
试画出用线性探查法消解地址冲突时所构造得哈希表。
地址0 1 2 3 4 5 6 7 8 9 10 11 12 关键字 14 168 27 55 19 20 84 79 23 11 10 1、给定排序码序列为(17,8,21,35,32,15,21,25,12,23),写出快速排序结果得过程。
解:快速排序过程如下:17,8,21,35,32,15,21,25,12,2312,8,21,35,32,15,21,25,17,2312,8,17,35,32,15,21,25,21,2312,8,15,35,32,17,21,25,21,2312,8,15,17,32,35,21,25,21,23第一趟结束,结果为:12,8,15,17,32,35,21,25,21,2310. 重要知识点:堆排序1、给定排序码序列为(17,8,21,35,32,15,21,25,12,23),用堆排序法进行排序,172521 821 35321523123582117212532152312358213221251715231235821322125231517123582132212523151712写出构建初始堆得过程。