数据结构期末复习题

合集下载

数据结构期末试题及答案

数据结构期末试题及答案

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

1252《数据结构(本)》期末考试复习题

1252《数据结构(本)》期末考试复习题

《数据结构(本)》期末综合练习题一、单选选择题1.栈和队列的共同特点是(C)。

A. 都是先进先出B. 都是操作受限的线性结构C. 都是先进后出D. 元素都可以随机进出2.数据的存储结构包括数据元素的表示和(C)。

A. 数据处理的方法B. 数据元素的类型C. 数据元素间的关系的表示D. 相关算法3.对一个栈顶指针为top的链栈进行入栈操作,通过指针变量p生成入栈结点,则执行p=(struct node *)malloc(sizeof(struct node);p->data=a;和(C)。

A. top->next=p; p=top;B. p->next=top; p=top;C. p->next=top; top=p;D. top=top->next; p=top;4.树状结构中数据元素的位置之间存在(B)的关系。

A. 每一个元素都有一个直接前驱和一个直接后继B. 一对多C. 一对一D. 多对多5.设头指针为head的非空的单向链表,指针p指向尾结点,则通过以下操作(D)可使其成为单向循环链表。

A. head = p;B. p=head;C. p->next = NULL ;D. p->next=head;6.设有一个长度为26的顺序表,要插入一个元素,并使它成为新表的第6个元素,需移动元素的个数为(D)。

A. 22B. 19C. 20D. 217.一种逻辑结构(C)。

A. 与存储该逻辑结构的计算机相关B. 是指某一种数据元素的性质C. 可以有不同的存储结构D. 只能有唯一的存储结构8.头指针为head的带头结点的单向循环链表,p所指向尾结点,要使该链表成为不带头结点的单向循环链表,可执行head=head->nex;和(A)。

A. p->next=head;B. p= head->nextC. head->next=pD. head->next=p->next9.把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为(D)。

数据结构期末考试试题及答案

数据结构期末考试试题及答案

数据结构期末考试试题及答案一、选择题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.数据结构被形式地定义为<D,R>,其中D是的有限集。

A 算法B 数据元素C 数据操作D 逻辑结构2.数据结构被形式地定义为<D,R>,其中R是的有限集.A 操作B 映像C 存储D 关系3.在数据结构的讨论中把数据结构从逻辑上分为()。

A 内部结构与外部结构B 静态结构与动态结构C 线性结构与非线性结构D 紧凑结构与非紧凑结构4.链表表示线性表的优点是()A、便于随机存取B、花费的存储空间比顺序表少C、便于插入与删除5.用单链表表示的链式队列的队头在链表的()位置。

A.链头B.链尾C.链中6.线性表是具有n个()的有限序列(n≠0)A.表元素B.字符C.数据元素D.数据项7.采用线性链表表示一个向量时,要求占用的存储空间地址()。

A 必须是连续的B 部分地址必须是连续的C 一定是不连续的D 可连续可不连续8.向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动______个元素。

A.8B.63.5C.63D.79.若某链表中最常用的操作是在最后一个结点之后插入一个结点和删除最后一个结点,则采用______________存储方式最节省运算时间。

A单链表 B双链表C 单循环链表 D带头结点的双循环链表10.链表不具有的特点是____________.A可随机访问任一元素 B插入删除不需要移动元素C不必事先估计存储空间 D所需空间与线性表长度成正比11.在一个长度为n的顺序表的任一位置插入一个新元素的渐进时间复杂度为()。

A. O(n)B. O(log2n)C. O(1)D. O(n2)12.带头结点的单链表first为空的判定条件是:A. first == NULL;B. first->next == NULL;C. first->next == first;D. first != NULL;13.在一个单链表中,若删除p所指结点的后续结点,则执行____。

数据结构期末复习题

数据结构期末复习题

数据结构期末复习题习题⼀绪论习题答案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算法。

首先,构建模式字符串的前缀函数,该函数用于记录模式字符串中每个位置的最长相同前缀和后缀的长度。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;255 9.堆排序是一种()排序方法,堆实质上是一棵()二叉树。

选择;完全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)所示。

图(a) 图(b) 图(c)2. 前序遍历序列为ABDGCEF ,中序遍历序列为DGBAECF ,写出构造二叉树的过程。

答:⑴由前序序列知A 为根结点,由中序序列知DGB 为左子树而ECF 为右子树,如图(a)所示。

⑵其次由前序序列确定左右子树的根结点为B 和C,由中序序列知DG 为B 的左孩子,B 无右孩子,E 为C 的左孩子,F 为C 的右孩子,如图(b)所示。

⑶由前序序列确定B 的左子树的根结点为D ,由中序序列知G 为D 的右孩子D 无左孩子,这样就得到最终恢复的二叉树如图(c)所示。

图(a) 图(b) 图(c)3.中序遍历序列为DGBAECF ,后序遍历序列为GDBEFCA ,写出构造二叉树的过EAB CGKF D HIJB AC DFEGBAC FDGEAECFDGB 程。

答:⑴由后序序列知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. 给定下树,写出与其对应二叉树的转化过程。

BAC DFEGGA图1图2解:对于图1:⑴连兄弟:⑵断孩子:⑶顺时针旋转45度:BACDFEGGBAC DFE G H JIK对于图2:(1)连兄弟:(2)断孩子:(3)顺时针旋转45度:3.重要知识点:给定森林构造与其对应的二叉树1.给定下森林,写出该森林与其对应二叉树的转化过程。

图3BAC D FE GH IK BAC D FE GH IKBAC FEG解:(1)连兄弟:(2)断孩子:(3)顺时针旋转45度:4.重要知识点:图的邻接矩阵与邻接表1.请构造出下面有向图的邻接表和逆邻接表图4解:邻接表:逆邻接表:5.重要知识点:图的深度优先搜索遍历1.从顶点v1和v4树。

图5解:深度优先搜索遍历序列(分别从V1和V4开始)分别如下:V1—V2—V4—V3—V5—V6—V7—V8V4—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。

试画出用线性探查法消解地址冲突时所构造的哈希表。

解:9.重要知识点:快速排序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.给定排序码序列为(出构建初始堆的过程。

构建的完全二叉树i=5时不用调整接着将8再筛下一层i=4时将8筛下一层i=3时不用调整接着再将17筛下一层接着再将17筛下一层i=2时,将17筛下一层35821 3221 2523151712得到初始堆(最大值根堆)第二种:得到初始堆(最小值根堆)。

相关文档
最新文档