数据结构错题集整理

第二章:线性表

 

数据结构错题集整理_第1张图片

数据结构错题集整理_第2张图片

数据结构错题集整理_第3张图片

数据结构错题集整理_第4张图片数据结构错题集整理_第5张图片数据结构错题集整理_第6张图片数据结构错题集整理_第7张图片数据结构错题集整理_第8张图片数据结构错题集整理_第9张图片数据结构错题集整理_第10张图片

第三章:栈与队列

数据结构错题集整理_第11张图片数据结构错题集整理_第12张图片数据结构错题集整理_第13张图片数据结构错题集整理_第14张图片

例如进栈序列为123,出栈的序列可以是132。 数据结构错题集整理_第15张图片数据结构错题集整理_第16张图片

只要队列不满就可以进行进队列操作,只要队列不空就可以进行出队列操作,并不规定进队列、出队列操作的次序。

数据结构错题集整理_第17张图片

因为无论出队和入队,都要进行求余运算,将队首指针和队尾指针转化为有效的顺序队下标值,另外,循环顺序队中的元素可以平行移动,所以本叙述是正确的。

第五章:数组和广义表

数据结构错题集整理_第18张图片 数据结构错题集整理_第19张图片

按下三角保存,而不是保存三对角矩阵。

数据结构错题集整理_第20张图片 数据结构错题集整理_第21张图片

 数组的基本操作有存取、修改、检索和排序等,没有插入与删除操作。

数据结构错题集整理_第22张图片

数据结构错题集整理_第23张图片 数据结构错题集整理_第24张图片 数据结构错题集整理_第25张图片 数据结构错题集整理_第26张图片

tail取出的结果要用()存放,head取出来的不用。

数据结构错题集整理_第27张图片 数据结构错题集整理_第28张图片 数据结构错题集整理_第29张图片 数据结构错题集整理_第30张图片

应该不用考虑对角矩阵,但是考虑的话有可能小于50%,如:三对角矩阵压缩率为(3*n-2)/(n*n),当n=10,压缩率为28/100。

数据结构错题集整理_第31张图片 数据结构错题集整理_第32张图片 数据结构错题集整理_第33张图片 数据结构错题集整理_第34张图片

第六章:树

数据结构错题集整理_第35张图片

数据结构错题集整理_第36张图片

数据结构错题集整理_第37张图片

数据结构错题集整理_第38张图片数据结构错题集整理_第39张图片

不是字母顺序不同,而是形状不同。

数据结构错题集整理_第40张图片

叶子节点个数等于度为2的节点个数+1

数据结构错题集整理_第41张图片

注意:至少

数据结构错题集整理_第42张图片数据结构错题集整理_第43张图片数据结构错题集整理_第44张图片数据结构错题集整理_第45张图片

后序遍历比较合理。正常的逻辑应该就是:做好当前结点子树内部的交换,然后交换当前结点的左右子树。刚好符合后序遍历的算法逻辑。
1. 交换好左子树
2. 交换好右子树
3. 交换左子树与右子树

数据结构错题集整理_第46张图片

前序遍历(中左右)、中序遍历(左中右)的最后访问的节点都是左或右叶节点,叶节点是没有子树的,所以两个指针域空出来了,可以存放线索指针。但是后续遍历(左右中),最后访问的子树的根节点,子树根节点的两个指针域都指向子树了,所以不能空出来存放线索信息。

数据结构错题集整理_第47张图片 数据结构错题集整理_第48张图片

第七章:图

数据结构错题集整理_第49张图片

注意确保2字,如果只是成为连通图,5条也可以。加上确保后,前4个定点两两相连,(4*4-1))/ 2,再加上1条,答案为7

数据结构错题集整理_第50张图片

数据结构错题集整理_第51张图片

数据结构错题集整理_第52张图片

数据结构错题集整理_第53张图片

注意至少,我们假设n个定点的完全图有10条边,n等于5,为了使其成为非连通图,再增加一个点。

数据结构错题集整理_第54张图片

注意,本题问的是有向图。要使具有n个结点的有向图是连通图,则至少要n个结点,也就是让这n个结点组成一个环。

数据结构错题集整理_第55张图片

最小生成树是指连通网的所有生成树中权值之和最小的生成树。

易混淆概念:

连通图的极小连通子图成为生成树

数据结构错题集整理_第56张图片

从反面理解,如果n个顶点的有向连通图构成强连通图,至少有n条边。

数据结构错题集整理_第57张图片

连通分量是极大连通子图。

数据结构错题集整理_第58张图片

最多为n*n-1),已经超过了。

数据结构错题集整理_第59张图片

无向图的邻接多重表,每个顶点、边都只有一个节点。

数据结构错题集整理_第60张图片

不太懂,应该是e个顶点吧。

数据结构错题集整理_第61张图片

有向图邻接表的空间复杂度为O(n+e),有向图邻接表的空间复杂度为O(n+2*e)

数据结构错题集整理_第62张图片

注意,是连通图。

数据结构错题集整理_第63张图片

数据结构错题集整理_第64张图片

普里姆(Prim)算法 ,时间复杂度为O(n2),适合于求边稠密的最小生成树;kruskal算法时间复杂度e*log2e,适合稀疏图。

数据结构错题集整理_第65张图片

也有可能本生就是最小生成树,但是有相同的权值。

数据结构错题集整理_第66张图片

从源点到汇点的最长路径为关键路径,深度优先不能保证是最长的,答案应该是拓扑排序。

第九章:查找

数据结构错题集整理_第67张图片

这类型题的关键是画出判定树,算出结果为小数时,两个整数都可能。。

数据结构错题集整理_第68张图片

数据结构错题集整理_第69张图片

数据结构错题集整理_第70张图片

关键问题是创建平衡二叉树。

数据结构错题集整理_第71张图片数据结构错题集整理_第72张图片

假设为满二叉树,即长度为63,此时至少比较6次,而题中,至少只需要5次。

数据结构错题集整理_第73张图片

可以理解为在查找的过程中建立起哈希表。

数据结构错题集整理_第74张图片

注意:没有涉及到提高存储效率的内容。

数据结构错题集整理_第75张图片

最少4个点,最多7个点,依次画出来。

数据结构错题集整理_第76张图片

对于分块查找,如过采用顺序查找确定待查值可能所在的块,asl=(n/s+s)/2+1

数据结构错题集整理_第77张图片

直接定位法就可以实现。

数据结构错题集整理_第78张图片

这个不一定,要看查找的内容。

数据结构错题集整理_第79张图片

单链表不适合。

数据结构错题集整理_第80张图片

仔细想一下,确实不对,有可能相同

数据结构错题集整理_第81张图片

数据结构错题集整理_第82张图片

对于相同的关键字集,如果不同的初始序列,那么创建的平衡二叉排序树不一定相同。

数据结构错题集整理_第83张图片

对的,不存在旋转,如果是平衡二叉排序树就不对了。

数据结构错题集整理_第84张图片

没有要求每块的数据一定相同。

数据结构错题集整理_第85张图片

二叉排序树查找法能适应查找表中数据的动态变化的要求。

数据结构错题集整理_第86张图片数据结构错题集整理_第87张图片

高为5的平衡二叉树至少有12个节点,反过来,12个节点,最多有5层高。

第10章:排序

https://images2015.cnblogs.com/blog/953024/201703/953024-20170316171432229-1783445745.png

数据结构错题集整理_第88张图片

堆分为大堆和小堆,要么全大于,要么全小于。

数据结构错题集整理_第89张图片

数据结构错题集整理_第90张图片

数据结构错题集整理_第91张图片数据结构错题集整理_第92张图片

这个答案好像有问题,个人觉得两遍后不是那个结果。

数据结构错题集整理_第93张图片

最后一个元素的时候,有n+m-1个已经排好序。

数据结构错题集整理_第94张图片

归并算法在合并的时候,需要开辟一个与原数组相等的空间。

数据结构错题集整理_第95张图片

数据结构错题集整理_第96张图片数据结构错题集整理_第97张图片

不太懂。

数据结构错题集整理_第98张图片

快速排序空间复杂度为O(log n),其他为O(1)

数据结构错题集整理_第99张图片

简单插入排序是稳定的,找到比自己大的才停止,所以后面的元素相对位置还是在后面。

数据结构错题集整理_第100张图片

在以下两种情况时,快排性能最差:(1)在分解时每次选取的主元素为最小元素,(2)在分解时每次选取的主元素为最大元素,而在初始有序的条件下就满足上面的情况。

数据结构错题集整理_第101张图片

选择排序包括:(1)堆排序(2)简单选择排序

数据结构错题集整理_第102张图片

就是时间复杂度计算吧,n*lon2n,结果为24

数据结构错题集整理_第103张图片

数据结构错题集整理_第104张图片

初始有序,快排效率最低,时间复杂度O(n2)

数据结构错题集整理_第105张图片

选择排序一定是n-1趟排序,比较的次数永远是n(n-1)/2

数据结构错题集整理_第106张图片

综合测试

数据结构错题集整理_第107张图片

你可能感兴趣的:(算法设计)