数据结构复习题
pta数据结构期末复习题

pta数据结构期末复习题一、选择题(每题2分,共20分)1. 在数据结构中,线性结构的特点是什么?A. 元素之间存在一对一的关系B. 元素之间存在一对多的关系C. 元素之间存在多对多的关系D. 元素之间存在一对一或多对多的关系2. 栈(Stack)是一种后进先出(LIFO)的数据结构,以下哪个操作不是栈的基本操作?A. 入栈(Push)B. 出栈(Pop)C. 查看栈顶元素(Top)D. 排序(Sort)3. 在二叉树中,度为2的节点最多有多少个子节点?A. 1B. 2C. 3D. 44. 哈希表的冲突解决方法不包括以下哪项?A. 开放寻址法B. 链接法C. 线性探测法D. 冒泡排序法5. 图的遍历算法中,深度优先搜索(DFS)使用的是哪种数据结构来实现?A. 队列B. 栈C. 链表D. 树二、填空题(每空2分,共20分)6. 在链表中,每个节点通常包含数据部分和______。
7. 排序算法中,冒泡排序的时间复杂度为______。
8. 快速排序算法的平均时间复杂度为______。
9. 哈夫曼编码是一种______编码方法。
10. 在图的表示方法中,邻接矩阵适用于______图。
三、简答题(每题10分,共30分)11. 简述线性表和非线性表的区别。
12. 解释什么是二叉搜索树,并说明其特点。
13. 描述图的深度优先搜索(DFS)和广度优先搜索(BFS)的区别。
四、计算题(每题15分,共30分)14. 给定一个数组A = [3, 7, 5, 1, 9, 8],请使用选择排序算法对其进行排序,并给出排序过程中的每一步状态。
15. 假设有一个无向图,包含顶点A, B, C, D, E,边的权重如下:(A,B): 1, (B,C): 2, (C,D): 3, (D,E): 4, (A,E): 5。
请使用克鲁斯卡尔算法(Kruskal's algorithm)找到该图的最小生成树。
五、编程题(共10分)16. 编写一个函数,实现单链表的反转,并说明其时间复杂度。
数据结构复习习题和答案(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.在用散列表存储关键码集合时,可以用双散列法寻找下一个空桶。
《数据结构》复习题

《数据结构》复习题一.选择题:1.数据结构是研究数据的( ) 以及它们之间的相互关系A.理想结构,物理结构B.理想结构,抽象结构C.物理结构,逻辑结构D.抽象结构,逻辑结构2. 组成数据的基本单位是()A.数据项B.数据类型C. 数据元素D. 数据变量3. 如果某数据结构的数据元素的集合为S={A,B,C,D,E,F,G},元素之间的关系为R={<A,D>,<A,G>,<D,B>,<D,C>,<G,E>,<G,F>},则该数据结构是一种()A.线性结构B. 树结构C. 图结构D. 链表结构4. 线性表的链接实现有利于( ) 运算A.插入B.读表元C.查找D.定位5. 设一数列的输入顺序为1,2,3,4,5,6通过栈操作不可能排成的输出序列为()A. 3,2,5,6,4,1B. 1,5,4,6,2,3C. 2,4,3,5,1,6D. 4,5,3,6,2,16. 设字符串S1=‘ABCDEFG’,S2=‘PQRST’则运算S=Concat(Sub(S1,2,Length(S2)),Sub(S1,Length(S2),2))后结果为()A.‘BCQR’B.‘BCDEF’C.‘BCDEFG’D.‘BCDEFEF’7. 设单链表中指针P指向结点A,若要删除A之后的结点(若存在),则修改指针的操作为()A. p→next= p→next→nextB. p= p→nextC. p= p→next→nextD. p→next = p8. 线性表采用链式存储时,其地址()A. 必须是连续的B.部分地址必须是连续的C. 一定是不连续的D.连续与否均可以9. 在内部排序时,排序不稳定的有()A.插入排序B. 冒泡排序C. 快速排序D.归并排序10. 设有1000个元素,用折半法查找时,最小比较次数为()A.0B. 1C.10D. 50011. 将一个元素进入队列的时间复杂度是()n)A. O (1)B. O (n)C. O (n2)D. O (log212. 在一个具有n个结点的单链表中查找其值等x的结点,在查找成功的情况下,需要比较()个元素结点A. n/2B. nC. (n+1)/2D. (n-1)/213. 从一个长度为n的顺序表中删除第i个元素(1≤i≤n),需向前移动()个元素A. n-iB. n-i+1C. n-i-1D. i14. 总共3层的完全二叉树,其结点数至少有()A.3B. 4C.7D.815. 队列操作的原则是()A. 先进先出B.后进先出C. 只能进行插入D. 只能进行删除16. 若线性表最常用的操作是存取第i个元素及其前驱元素的值,则采用()存储方式最节省时间A.单链表B. 双向链表C. 音循环链表D. 顺序表17. 栈和队列都是()A. 顺序存储的线性结构B. 限制存取点的线性结构C. 链接存储的线性结构D. 限制存取点的非线性结构18. 与线性表的链接存储相符的特性是()A.插入和删除操作灵活B. 需要连续存储空间C. 便于随机访问D. 存储密度大19.若进队序列为1,2,3,则出队序列是()A.3,2,1B. 1,3,2C. 1,2,3D. 3,2,120. 在单向循环链表中,若头指针为h,那么p所指结点为尾结点的条件是()A. p= NULLB. p→next= NULLC. p=hD. p→next= h3. 在双向循环链表中,在指针P所指的结点之后插入指针f所指的结点,其操作为。
数据结构复习题

一、单项选择题1.评价一个算法时间性能的主要标准是()A.算法易于调试B. 算法易于理解C.算法的稳定性和正确性D.算法的时间复杂度2.可用带表头结点的链表来表示表,也可用不带表头结点的链表来表示表,前者的主要好处是()A.可以加快对表的遍历B.使空表和非空表的处理统一C.提高存取结点的速度D.节省存储空间3.稀疏矩阵一般的压缩存储有两种,即()。
A.一维数组和二维数组B.一维数组和三元组C.二维数组和十字链表D.三元组和十字链表4.链表不具有的特点是()。
A.可随机访问任一元素B.插入删除不需要移动元素C.不必事先估计存储空间D.所需空间与线性表的长度成正比5.非空的循环单链表head的尾结点p满足()。
A.P->next==NULL B.p==NULL C.P->next==head D.P==head 6.对稀疏矩阵进行压缩存储是为了()。
A.便于进行矩阵运算B.便于输入和输出C.节省存储空间D.降低运算的时间复杂度7.数据结构中,与所使用的计算机无关的是数据的()结构。
A.顺序B.物理C.逻辑D.物理和存储8.在长度为n的顺序表中插入一个元素时,等概率情况下的平均移动元素的次数是()。
A.(n-1)/2B.n/2C.n*(n-1)/2D.(n+1)/29.对于一个头指针为H的带头结点的单链表,判定该表为空表的条件是()A. H==NULL B.H!=NULL C.H→next ==H D.H→next==NULL10. 在一个顺序表中,若表的第一个元素的存储地址是210,每一个元素的长度为3,则第5个元素的存储地址是()。
A.219 B.222 C.225 D.22811. 栈S最多能容纳4个元素,现有6个元素按a,b,c,d,e,f的顺序进栈,下面序列()是可能的出栈序列。
A.edcbaf B.bcefad C.cbedaf D.adfebc12.循环队列用数组A[M]存放元素,已知其头尾指针分别为front和rear,则当前队列中的元素个数是()。
数据结构复习题(附答案)

数据结构复习题(附答案)1. 快速排序在最坏情况下的时间复杂度为( D )。
A.O(log2n) B.O(nlog2n) C.O (n) D. O (n2)2.设⼀棵⼆叉树的深度为k,则该⼆叉树中最多有( D )个结点。
A. 2k-1B. 2kC.2k-1D. 2k-13.⼆叉树中第i(i≥1)层上的结点数最多有( C )个。
A. 2iB. 2iC. 2i-1D. 2i-1 4.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为( A )。
A. p->next=p->next->nextB. p=p->nextC. p=p->next->nextD. p->next=p5.设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,⼀个元素出栈后即进⼊队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量⾄少应该是( C )。
A. 6B. 4C. 3D. 26.设有以下四种排序⽅法,则( B )的空间复杂度最⼤。
A. 冒泡排序B. 快速排C. 堆排序D. 希尔排序7.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为( B )。
A. 3B. 4C. 5D. 18.根据⼆叉树的定义可知⼆叉树共有( B )种不同的形态。
A. 4B. 5C. 6D. 79.对⼀个算法的评价,不包括如下( A )⽅⾯的内容。
A.并⾏性 B.健壮性和可读性 C.正确性 D.时空复杂度10.在⼆叉排序树中插⼊⼀个结点的时间复杂度为( C )。
A.O(1) B.O(n) C.O(log2n) D.O(n2)11. 队列是⼀种( B )的线性表。
A.先进后出B.先进先出 C.只能插⼊D.只能删除12.采⽤开放定址法处理散列表的冲突时,其平均查找长度( C )。
A.低于链接法处理冲突 B. 与链接法处理冲突相同C.⾼于链接法处理冲突 D.⾼于⼆分查找13.设有序顺序表中有n个数据元素,则利⽤⼆分查找法查找数据元素X的最多⽐较次数不超过( A )。
(完整版)数据结构复习题(附答案)

一、算法设计题(每题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.设需要对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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单项选择题1. 线性表采用链式存储时,要求其地址().A. 连续与否均可B. 部分地址连续C. 必须是连续的D. 一定不是连续的2. 在一个长度为n的顺序线性表中删除第k个元素时,需要向前移动元素的个数是().A. n-kB. n-k+1C. n-k-1D. k3. 从一个具有n个结点的单链表中查找其值等于x的结点时,在查找成功的情况下,需平均比较的次数为().A. n/2B. nC. (n+1)/2D. (n-1)/24. 在一个无向图中,所有顶点的度数之和等于所有边的( )倍.A. 0B. 1C. 2D. 1/25. 具有n个顶点的无向连通图至少拥有()条边.A. n(n-1)B. n(n-1)/2C. n*nD. n-16. 下面程序段的时间复杂度为().i=1; k=0;while(i<n){k=k+10*i; i++;}A. O(1)B. O(n)C. O(lgn)D. O(k*i)7. 若让元素1, 2, 3依次进栈, 则出栈次序不可能出现()情况.A. 3, 2, 1B. 2, 1, 3C. 3, 1, 2D. 1, 3, 28. 对n个顶点的无向连通图, 使用prim算法生成最小生成树, 其时间复杂度为().A. O(log2n)B. O(nlog2n)C. O(n)D. O(n2)9. 具有64个结点的完全二叉树的高度是().A. 5B. 6C. 7D. 810. 深度为k的完全二叉树最多有()个结点.A. KB. K2C. 2 k-1D. K2-111.在数据结构中,从逻辑上可以把数据结构分为()两类。
A 动态结构和静态结构B 紧凑结构和非紧凑结构C 线性结构和非线性结构D 内部结构和外部结构12.下面程序段的时间复杂度为()。
for (int i=0;i<m;i++)for (int j=0;j<n;j++)a[i][j]=i*j;A O (m2)B O (n2)C O (m*n)D O (m+n)13.在一个长度为n的顺序存储线性表中,向第k个元素(1≤k≤n+1)之前插入一个新元素时,需要从后向前依次后移()个元素A n-kB n-k+1C n-k-1D k14.在一个单链表HL中,若向表头插入一个由指针p指向的结点,则执行()。
A HL=p; p->next=HL;B p->next=HL; HL=p;C p->next=HL; p=HL;D p->next=HL->next; HL->next=p;15.在一个单链表HL中,若要在指针q所指的结点后面插入一个由指针p所指向的结点,则执行()。
A q->next=p->next; p->next=q;B p->next=q->next; q=p;C q->next=p->next; p =q->next;D p->next=q->next; q->next=p;16.在一个单链表HL中,若要删除由指针q所指向的结点的后继结点,则执行()。
A p=q->next; p->next=q->next;B p=q->next; q->next=p;C p=q->next; q->next=p->next;D q->next=q->next->next; q->next=q;17. 栈的插入和删除操作在()进行A 栈顶B 栈底C任意位置 D 指定位置18.在一个顺序队列中,队首指针指向队首元素的()位置。
A.前一个 B. 后一个 C. 当前19.按中序次序将n个结点的二叉树线索化,其时间复杂度大致为()。
A. O(n)B.O(1)C.O(log2n)D.O(n2)20.由权值分别为3,6,8,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为()。
A. 24B. 48C. 72D. 5321. 若需要利用形参直接访问实参,则应把形参变量说明为()参数。
A.指针 B. 引用 C. 值22. 执行下面程序段时,执行S语句的次数为().for (int i=1; i<=n; i++)for (int j=1; j<=i; j++)S;A.n²B.n²/2C.n(n+1) D.n(n+1)/223. 对于一个具有n个顶点和e条边的连通图,其生成树中的边数为().A.n B.e C.n-1 D.e-124. 假定一个顺序队列的队首和队尾指针分别为front和rear,存放该队列的数组长度为N,则判断队空的条件为().A.front+1= =rear B.rear+1= =front C.front= =0 D.front= =rear二、填空题1. 若一棵二叉树的叶子结点树为n0, 则度数为2的结点数n2=2. 栈又称为表, 队列又称为表.3. 对不同的关键字, 通过哈希函数可能得到同一个哈希地址, 这种现象称为 .4. 在图的邻接矩阵中, 第i列所有值为1的元素个数等于顶点i的 .5. 初始化一个顺序栈时, 栈顶指针S.top= -1; 则栈空的判断条件是 .6. 四个顶点的无向完全图有条边.7. 散列函数S(n)=n%p中, p应取数.8. 若在插入查找过程中, 同时进行插入或删除操作, 则称此类查找表为 .9. 拓扑排序指的是, 找一个有向无环图的的过程.10. 数据的逻辑结构包括集合、、和 .11.数据的存储结构被分为_ _、_ _、_ _和_ _四种。
12.在线性结构、树结构和图结构中,前驱和后继结点之间分别存在着_、__ _和___ __的联系。
13.对于一个长度为n的单链接存储的线性表,在表头插入结点的时间复杂度为_ ,在表尾插入元素的时间复杂度为__ __。
14.在一个稀疏矩阵中,每个非零元素所对应的三元组包括该元素的、和三项。
15.一个广义表中的元素分为原子元素和元素两类。
16.一棵深度为5的满二叉树中的结点数为__ 个,一棵深度为3的满四叉树中的结点数为_ _个。
17.在一个无向图中,所有顶点的度数之和等于所有边数的倍。
18.在一个具有n个顶点的无向完全图中,包含有边,在一个具有n个顶点的有向完全图中,包含有边。
19.以顺序查找为查找方法从长度为n的线性表中查找一个元素时,平均查找长度为____,平均时间复杂度为___ ___。
20.对于一棵具有n个结点的完全二叉树,若一个结点的编号为i(1<=i<=n),则它的左孩子结点的编号为__ _,右孩子结点的编号__ __,双亲结点编号为__ _.21.在一个堆的顺序存储中,若一个元素的下标为i(0<=i=n-1),则它的左孩子元素的下标为_ _,右孩子元素的下标为_ ___。
22.假定一个线性表为(12,23,74,55,63,40,82,36),如按key%3条件进行划分,使得同一余数的元素成为一个子表,则得到的三个子表分别为_ __, 和_ __.23.对于一个长度为n 的顺序存储的线性表,在表头插入元素的时间复杂度为_ __,在表尾插入元素的时间复杂度为_ _。
24. 当用长度为n的数组顺序存储一个栈时,假定用top= =-1表示栈空,则表示栈满的条件为_ ___。
25. 在一个具有n个顶点的无向图中,要连通所有顶点则至少需要__ __条边。
26.以二分查找方法查找一个线性表时,此线性表必须是_ __存储的_ _表。
三、解答题1. 请对下图回答下列问题(1)写出邻接矩阵 (2)画出逆邻接表2. 从一个空的二叉排序树开始,依次插入25, 13, 15, 34, 7, 20, 37. 画出插入完成后的二叉树.3. 二叉树顺序存储如下图. (1)画出二叉树表示. (2)写出先序、中序、后序遍历序列. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 204. 对下图使用Prim 算法构造最小生成树, 用图示描述构造过程.5. 已知一棵二叉树如下图所示,写出分别按前序、中序、后序遍历时得到的遍历序列。
6. 8个带权结点,其权值分别为3,6,5,9,12,7,10,8,试以他们为叶子结点构造一棵哈夫曼树,并计算出带权路径长度WPL 。
7. 设二维数组A 5×6的每个元素占4个字节,已知Loc (a 00)=1000,A 共占多少个字节?A 的终端结点a 4 5的起始地址为何?按行和按列优先存储时,a 2 5的起始地址分别为何?8. 假定一个二叉树广义表表示为a(b(c,d),e(f(,g))),分别写出对它进行先序、中序、后序和按层遍历的结果。
9. 已知一个图的顶点集和边集分别为v={0,1,2,3,4,5,6,7}e={(0,1)8,(0,2)5,(0,3)2,(1,5)6,(2,3)25,(2,4)13,(3,5)9,(3,6)10,(4,6)4,(5,7)20}要求写出按照普里姆算法得到的最小生成树的各条边。
10. 下面是用二元组表示的数据结构,试画出它对应的图形表示,并指出它属于何种结构。
A=(K,R)其中K={a,b,c,d,e },R={r},r={<a,b>,<b,d>,<b,e>,<a,c>,<d,e>,<e,c>}四、应用题1. 给定关键字(35,16,49,26,38,11,50,13,45,27,31)和哈希函数H (key )=key % 7,用链地址法构造哈希表.2. 请给出对一组记录(54,38,96,23,15,90,72,60,45,83)进行希尔排序(增量序列为5,3,1)时的排序过程。
L D M A G F S W P3.已知一个图的顶点集V和边集E分别为:V={0,1,2,3,4,5,6,7}E={(0,1)8,(0,2)3,(0,3)5,(1,5)2,(2,3)20,(2,4)12,(3,5)7,(3,6)9,(4,6)4,(5,7)1 5};按照普里姆算法从顶点0出发得到最小生成树,试写出在最小生成树中依次得到的各条边。
4. 已知一组元素的排序码为(36,25,48,12,65,20),写出用直接插入排序法每次向前面有序表插入一个元素后的排列结果.5.设散列表长m=14,哈希函数为H(k)=k mod 11,表中一共有8个元素{15,27,50,73,49,61,37,60} ,试画出采用二次探测法处理冲突的散列表。
6.线性表的关键字集合为{113,12,180,138,92,67,94,134,252,6,70,323,60},共有13个元素,已知散列函数为:H(k)=k mod 13,采用链接表处理冲突,试设计这种链表结构。