- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构题答案.doc
数据结构练习题答案
一、简答题
1.什么是拓扑排序?
答:拓扑排序(topological sort)是将有向图G的所有顶点排成一个线性序列,使得对图中的任意一对顶点Vi和Vj,若存在一条从Vi到Vj的路径,则Vi 在此线性序列中必排在Vj 之前。通常将这样的线性序列称为满足拓扑次序(topological order)的序列,简称为拓扑序列(topological sequence)。
2.什么是堆积?
答:堆积是两个或多个同义词子表结合在一起的现象。
3.图的邻接矩阵与邻接表两种存储表示法在空间代价上的差别为何?
答:图邻接矩阵存储表示法的存储量只与顶点个数n有关、而与边的个数e无关,其空间复杂度为O(n2);
图的邻接表存储表示法的存储量不仅与顶点个数n有关、而且与边的个数e也有关,其空间复杂度为O(n+e)。
4.算法与程序的区别是什么?
答:(1) 算法必须满足有穷性,而程序并不需要;例如操作系统,只要整个系统不受破坏,操作系统就无止休地为用户提供服务,永不结束。
5.什么是堆(heap)?
答:设有n个关键字的序列为 {k0,k1,…,kn-1},并把它们按完全二叉树的顺序存储方式存放在一个一维数组中,如果满足
ki≤k2i+1且ki≤k2i+2 (或ki≥k2i+1且ki≥k2i+2 ),(i=0,1,…, ((n-2)/2( ),
则称之为堆(heap)。
6.什么是栈(stack)?
答:栈(stack)是一种运算受限的线性表。它限定只能在表的同一端进行插入和删除等运算,允许运算的一端称为栈顶(top)。而表的另一端称为栈底(bottom)。
7.什么样的图遍历后由所有顶点和遍历时所经过的边所构成的子图一定是生成树?
答:对于连通的无向图或强连通的有向图,从图的任何一个顶点出发;对于有根的有向图,从根出发;遍历后由所有顶点加上遍历时所经过的边所构成的子图一定是生成树。
8.举例说明希尔(Shell)排序是否是稳定的排序方法?
答:希尔(Shell)排序不是稳定的排序方法。例如:
9.什么是遍历运算?
答:遍历运算是按一定的次序系统地访问遍数据结构(如树形结构)中的所有结点,使每个结点恰被访问一次。
10.什么是AVL树?
答:AVL树又称平衡的二叉排序树是所有结点的左子树和右子树高度之差的绝对值不超过1的二叉排序树。
11.链表中的表头指针、表头结点和开始结点有什么不同?各自所起的作用是什么?
答:表头指针是一个指针变量,它对链表起到控制作用。
表头结点是人为虚设的结点变量,不存储线性表的数据,它起的作用是使得运算简单、处理方便。
开始结点是线性表中的第一个数据元素。
12.举例说明直接选择排序是否是稳定的排序方法?
答:直接选择排序不是稳定的排序方法。例如:
5 5* 1 ( [ 1 ] 5* 5 ( [ 1 5* ] 5
最后排序结果为:1, 5, 5*。
13.什么是完全二叉树(complete binary tree) ?
答:如果一棵二叉树至多只有最下面的两层结点的度数可以小于2,并且最下面一层的结点都集中在该层的最左边的若干位置上,则此二叉树称为完全二叉树(complete binary tree)。
14.什么是稀疏矩阵(sparse matrix) ?
答:设二维数组Amn中有s个非零元素,若s远小于矩阵元素的总数(即s m×n ),则称A为稀疏矩阵(sparse matrix)。
15.试述链接存储结构的优缺点。
答:优点:① 插入和删除结点的运算效率较高;
② 采用动态分配,存储空间扩增方便。
缺点:① 内存的存储密度较低(d1);
② 不能随机地存取表中的任一结点。
16.什么是AVL树,它与最佳二叉排序树最主要的差别是什么 ?
答:AVL树是所有结点的左子树和右子树高度之差的绝对值不超过1的二叉排序树。
两者的主要差别是:最佳二叉排序树是静态的,而AVL树动态的。也就是说,随着结点的不断插入与删除,最佳二叉排序树的这种“最佳性”可能会遭到破坏,从而导致二叉排序树的查找性能下降。而AVL树可以动态地保持二叉排序树的平衡、使其具有较高性能。
17.什么是假溢出 ?
答:当队列中的元素个数小于MaxSise – 1时再入队而产生的溢出,称为“假溢出”。
18.什么是排序算法的“稳定性”?
答:如果待排序文件中,存在多个具有相同排序码的记录,经过排序后这些记录仍保持它们原来的相对次序,则称这种排序算法是“稳定的” ,否则称该排序算法是“不稳定的” 。
19.设高度为h的二叉树中只有度为0和度为2的结点,问此类二叉树中的结点数可能达到的最大值和最小值各为多少 ?
答:最大值为2h+1 – 1; 最小值为2h+1。
20.顺序查找、折半查找和分块查找各自的平
文档评论(0)