数据结构复习题
怎么名字都重复
省内普通一本,但真的好想和好朋友一起去浙大读研啊
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构(六)图的存储、遍历
根据深度优先遍历的规则,0->1->3->4->2到这里就断了,选一个未被访问的结点作为起点继续访问,可以选5,5->6;构造最小生成树的算法主要有Prim算法和Kruskal算法 Prim算法是直接查找,多次查询邻边权重的最小值,适合边的权重变化不大的情况。因为有2e>=n,可推断出每两个点之间均有边,即e>=n-1,所以按深度优先遍历的时间复杂度算即为:O(n+n-1),即为O(n)深度优先遍历类似于二叉树的先序遍历,广度优先遍历类似于二叉树的层序遍历。所以遍历顺序为1,2,4,5,3。原创 2024-06-25 23:24:29 · 325 阅读 · 0 评论 -
数据结构期末复习(五)二叉树、哈夫曼树
根据题号6的题解,A、C、D很明显可以看出来是对的。但这棵树不一定是满二叉树是因为哈夫曼树的左右子树可以换位置的,完全可以把6、8两个结点组成的子树放在2、3这棵子树的左边,这样的哈夫曼树就不是完全二叉树了。在线索二叉树中,p->lTag=1说明p的左链指向前驱,p->rTag=1说明p的右链指向其后继,p->lTag=0说明p有左子树,p->rTag=0说明p有右子树。B选项描述的是一棵左斜树,C选项描述的是一棵右斜树,统称为单斜树,单斜树的先序遍历和后序遍历是正好相反的,单斜树都是只有一个叶结点。原创 2024-06-20 11:21:20 · 301 阅读 · 0 评论 -
数据结构期末复习(四)串、数组和广义表(内含next数组)
a[j][i]计算其位置时可以分为第j行之前的(1~j-1行)和第j行的,前j-1行的元素个数为[1+(j-1)]*(j-1)/2(首相加末项除以二),第j行的元素个数为i个,加起来就是A选项。问的是第五行第五列元素的位置信息,这个二维数组是一个100×100的数组,那么第五行第五列的元素位置应该是:10+(100×4+4)×2=818(因为求的是基地址所以求到该元素的前一个就行了)。在第8行之前有1+2+3+4+5+6+7=28个元素,再加上第8行的6个元素,28+6=34。则为((u,t,w)),原创 2024-05-20 00:14:25 · 394 阅读 · 0 评论 -
数据结构期末复习(三)栈、队
前面也有提到,在循环队列中,头尾指针的位置十分“多变”,在对队列进行初始化时,Q.front=Q.rear=0,将头尾指针同时置为0,队为空。所以判断队空的条件就是头尾指针相等时。A.进[a],[b,a],[c,b,a],[c,b,a,d],[e,c,b,a,d],出[e,c,b,a,d]B.进[a],[b,a],[b,a,c],[d,b,a,c],[d,b,a,c,e],出[d,b,a,c,e]C.进[a],[b,a],[b,a,c],[b,a,c,d],[b,a,c,d,e],出[b,a,c,d,e]原创 2024-05-07 23:29:35 · 206 阅读 · 0 评论 -
数据结构期末复习(二)顺序表、线性表
每增加一个节点都需要将单链表遍历一遍,遍历将是(1,2,3,4…n),那么利用公差为1的等差数列的求和公式,得出结果为(1+n)*n/2,最高次幂为n。A.顺序存储不仅用于线性存储(数组),还可以用于存储非线性结构(树)。等概率的情况,(1)最少是插入到顺序表最后,移动0个结点(2)最多是插入到顺序表最开头,移动n个结点。顺序存储结构中,元素在内存中是连续存储的,因此在逻辑上相邻的两个元素物理位置上也是相邻的。链式存储中两个元素在逻辑上相邻,但在物理位置上不一定也相邻,所以连不连续都可以。原创 2024-05-07 17:28:51 · 217 阅读 · 0 评论 -
数据结构期末复习(一)时间复杂度
这里控制循环次数的仍是while后的语句(s<n),而while里的语句也同样需要考虑,s相当于是一个公差为1的等差数列的和,当s=n-1时是循环的最后一次,s=(0+i)*i/2,i=(2s)这道题并不需要多加思索,因为整道题中并没有出现未知量,所以数都可以数出来准确值,直接选答案,常数1。这里控制循环次数的是while后的语句,而x>=(y+1)(y+1)=n时是循环进行的最后一次,而此时y=n。-1,则循环次数就为y的值,则空间复杂度易得。(y+1),x=n,当(y+1),则空间复杂度易得。原创 2024-04-28 22:44:39 · 258 阅读 · 1 评论
分享