数据结构
以研究生考试为目的,整理考试相关知识以及习题
Eva_5433
人生没有白走的路,每一步它都算数——考研政治老师孔昱力
展开
-
【考研数据结构题型分类讲解练习】时间复杂度计算
时间复杂度嘛,就是执行的次数呗。时间复杂度嘛,就是执行的次数呗。时间复杂度嘛,就是执行的次数呗。一层循环的时间复杂度计算例1int sum = 0;for(int i=1; i<=n; i++){ sum = sum + i;}printf("%d", sum);没啥可说的,时间复杂度T(n)=O(n)例2int i=1;while(i < n){ i = i*2;}我的一般习惯是设循环执行m次,执行一次乘一个2,执行m次,最终结果是2m2^m2原创 2021-12-21 16:21:26 · 1140 阅读 · 0 评论 -
树、二叉树、森林之间的转换
更新时间:2021年9月18日本文是我专栏《考研数据结构题型分类讲解练习_Anthony_4926-CSDN博客》的附属博客,建议大家看一眼这个专栏,万一对你有帮助呢。欢迎订阅考研数据结构题型分类讲解练习_Anthony_4926-CSDN博客https://blog.csdn.net/weixin_38233103/category_10633876.html下文整理自B站数据结构与算法基础--第08周12--5.6树和森林5--森林与二叉树的转换_哔哩哔哩_bilibilihttps..原创 2021-09-18 08:44:10 · 448 阅读 · 0 评论 -
(B树又叫B-树) B树规则,基础知识
名词解释2节点:有两个子节点(指针)的节点。左指针、右指针。 3节点:有三个子节点(指针)的节点。左指针、中指针、右指针。规则B树是查找树,要满足左边小,右边大。 B树所有叶节点都在同一层 2节点,要么有两个子节点,要么没有子节点 3节点,要么有三个子节点,要么没有子节点 2-3树,可以有2节点,也可以有3节可点,数量不限。且节点可动态改变,即当3节点不满足条件时,可拆为2节点。2节点不满足条件时,可合并为3节点。 B树之2-3树的插入、创建见视频:2-3-...原创 2021-09-09 12:48:50 · 1380 阅读 · 0 评论 -
两个序列能否确定一棵树 ❤总结 ❤ 老全了,一站解决
先序遍历 中序遍历 后序遍历 层次遍历 先序遍历 可以 不可以 不可以 中序遍历 可以 不可以 后序遍历 可以 层次遍历 先序遍历、中序遍历可以因为前序序列的第一个元素是根结点,该元素将二叉树中序序列分成两部分,左边(设L个元素)表示左子树,若左边无元素,则说明左子树为空;右边(设R个元素)是右子树,若为空,则右子树为空。根据前序遍历中...原创 2021-08-31 14:42:40 · 1326 阅读 · 0 评论 -
图文并茂了解 共享栈
利用栈底位置相对不变的特性,可让两个顺序栈共享一个一维数组空间,将两个栈的栈底分别设置在共享空间的两端,两个栈顶向共享空间的中间延伸。栈顶指针初始值 栈S1的栈顶指针top1初始值为0 栈S2的栈顶指针top2初始值为m+1 栈满判定条件:top1+1 == top2...原创 2021-08-27 19:53:01 · 570 阅读 · 0 评论 -
下列选项中,不可能是快速排序第2趟排序结果的是( ),【2014年全国试题11 (2分)】
下列选项中,不可能是快速排序第2趟排序结果的是(),【2014年全国试题11 (2分)】A. 2, 3, 5, 4, 6, 7,9B. 2, 7, 5, 6, 4, 3,9C. 3, 2, 5, 4, 7, 6,9D. 4, 2, 3, 5, 7, 6,9解析:快排一趟完成后,会有一个中间值,左边比它小,右边比它大。第二趟完成后,在左半还会找到一个中间值,左边比它下,右边比它大。右半同理首先我们根据选项,找这个值,如果找不到,说明这个选项肯定不是。先说...原创 2021-08-16 16:12:15 · 2860 阅读 · 1 评论 -
每种排序算法趟的特点
更新时间:2021年8月15日14:57:50B站:Anthony_4926的个人空间_哔哩哔哩_Bilibili注:默认升序排列,小根堆原创 2021-08-15 15:06:24 · 927 阅读 · 0 评论 -
哈希查找方法
哈希法的过程如下图目录一、散列函数构造方法1.1 直接定址法1.2 除留取余法1.3 数字分析法1.4 平方取中法散列函数构造方法总结:二、处理冲突的方法2.1 开放地址法2.1.1 线性探测法2.1.2 平方探测法2.1.3 再散列法2.1.4 伪随机序列法2.2 拉链法一、散列函数构造方法1.1 直接定址法这种方法不会产生冲突 适合关键字分布基本连续,否则会产生大量空位置1.2 除留取余法假定散列表表长为m,p取一.原创 2021-07-21 22:39:28 · 3652 阅读 · 1 评论 -
各种查找的对比
查找 平均查找长度 时间复杂度 适合数据结构 顺序查找 (n+1)/2 O(n) 完全无序 二分查找 点我 O(logn) 有序 二叉排序树查找 点我 O(logn) 二叉排序树 散列查找 点我 O(1) 分块查找 点我 O() 块间有序,块内无序,索引有序 ...原创 2021-07-17 19:29:30 · 349 阅读 · 0 评论 -
具有12个关键字的有序表,折半查找的平均查找长度为( )。【山大学1998二、10(2分)】 【烟台大学2007一、17 (2分)】A.3.1B.4C.2.5D.5
具有12个关键字的有序表,折半查找的平均查找长度为( )。【山大学1998二、10(2分)】 【烟台大学2007一、17 (2分)】A.3.1B.4C.2.5D.5做这个题之前,建议你先看一下《折半查找判定树 二叉排序树 查找成功平均查找长度 查找失败平均查找长度》好,假设你已经看过《折半查找判定树 二叉排序树 查找成功平均查找长度 查找失败平均查找长度》了。如果,你觉得这个题像给的例题那样,画出树来,那就太慢了。因为,我们每次都是对半分的,所以形成的树具有如下特点:除去最后一层...原创 2021-07-14 17:45:27 · 3336 阅读 · 3 评论 -
图中的名词概念
无向图:图中的边不带箭头,是双向的有向图:图中的边带箭头,是单向的 简单图:原创 2021-06-19 21:46:18 · 1640 阅读 · 0 评论 -
平衡二叉树的最大深度和最少节点数
因为最小结点的情况是 左子树结点比右子树多1。 设h为高度,则有S(h) = S(h-1) + S(h-2) + 1 并且S1 = 1, S2 = 2,这是左边两结点,右边一结点的情况。原创 2021-06-11 12:39:55 · 15048 阅读 · 8 评论 -
线索二叉树中的空链域
根据《线索二叉树的画法》我们知道,节点A线索的指向是由遍历序列中A的左右决定的。于是显而易见有以下两个结论:如果,遍历序列中节点A左侧有节点,那么线索二叉树中节点A左线索一定有指向,即左链域不可能空。 同理,遍历序列中节点A右侧有节点,那么线索二叉树中节点A右线索一定有指向,即右链域不可能空。而遍历序列中只有左端的节点没有左侧节点,右端的节点没有右侧节点。所以,空链域也只可能是遍历序列左端节点的左线索,和遍历序列右端节点的右线索。因此,空链域最多是两个。接下来进一步了解一下。空链域的前提是二原创 2021-06-07 21:18:03 · 11149 阅读 · 2 评论 -
5-1. 已知一棵有 2011个结点的树,其叶结点个数为116,该树对应的二叉树中无右孩子的结点个数是 ( )。【2011年全国试题6(2分)】 A.115 B.116 C.1895 D.1896
写在前边的话:你的支持是我写作的动力,有帮助到你的话麻烦点赞加收藏呦。感激不尽!如有错误也请留言指正。下题是我专栏《考研数据结构题型分类讲解练习》中的一道,专栏中的题目都很经典,欢迎订阅我的专栏《考研数据结构题型分类讲解练习》5-1.已知一棵有 2011个结点的树,其叶结点个数为116,该树对应的二叉树中无右孩子的结点个数是 ( )。【2011年全国试题6(2分)】A.115B.116C.1895D.1896树在变二叉树的过程中,首先要连线,连的线是亲兄弟之间的线。这个时候,如果..原创 2021-06-04 09:59:06 · 5379 阅读 · 10 评论 -
【考研数据结构题型分类讲解练习】线性表习题试看
写在前边的话:你的支持是我写作的动力,有帮助到你的话麻烦点赞加收藏呦。感激不尽!如有错误也请留言指正。考研数据结构练习,欢迎订阅我的专辑《考研数据结构题型分类讲解练习》...原创 2021-01-05 18:22:44 · 358 阅读 · 0 评论 -
【考研数据结构题型分类讲解练习】线性表答案试看
写在前边的话:你的支持是我写作的动力,有帮助到你的话麻烦点赞加收藏呦。感激不尽!如有错误也请留言指正。考研数据结构练习,欢迎订阅我的专辑《考研数据结构题型分类讲解练习》...原创 2021-01-05 18:08:48 · 300 阅读 · 0 评论 -
静态链表
写在前边的话:你的支持是我写作的动力,有帮助到你的话麻烦点赞加收藏呦。感激不尽!如有错误也请留言指正。考研数据结构练习,欢迎订阅我的专辑《考研数据结构题型分类讲解练习》虽然内容很少,但足以理解静态链表了。静态链表其实可以理解为一个数组(以下图这个为例),它的第一列是数据域,第二列是类似于指针的“指针域”,但是它指向的不是地址,而是数组的下标,以-1作为链的结束标志。通过下标的串联形成了类似于链表的“链一样的结构”。尽管如此,它的本质还是一个数组,做题时候按照数组理解即可。左边这个是正常的,右边带原创 2021-01-05 17:52:48 · 424 阅读 · 0 评论 -
顺序存储结构存储二叉树和堆
写在前边的话:你的支持是我写作的动力,有帮助到你的话麻烦点赞加收藏呦。感激不尽!如有错误也请留言指正。考研数据结构练习,欢迎订阅我的专辑《考研数据结构题型分类讲解练习》目录一、过程二、解释原因现在有如下所示的树,用顺序存储结构存储。先说存储过程,再讲解为什么可以这么存储一、过程把这棵树补成满二叉树,并且按照层次递归顺序编号。按照编号对应数组下标存储节点即可。这样一棵树就用顺序存储结构存储下来了。1 2 3 4 5 6 ..原创 2021-01-04 23:23:47 · 843 阅读 · 1 评论 -
如果有向图中各个顶点的度都大于2,则该图中必有回路 如果无向图中每个顶点的度都大于等于 2,则该图中必有回路。 ( )
写在前边的话:你的支持是我写作的动力,有帮助到你的话麻烦点赞加收藏呦。感激不尽!如有错误也请留言指正。考研数据结构练习,欢迎订阅我的专辑《考研数据结构题型分类讲解练习》【判断题】如果有向图中各个顶点的度都大于2,则该图中必有回路。(错)下图每个点的度均为3,但没有回路...原创 2020-12-23 18:18:56 · 4826 阅读 · 2 评论 -
散列查找中,什么叫冲突,什么叫聚集(堆积)
写在前边的话:你的支持是我写作的动力,有帮助到你的话麻烦点赞加收藏呦。感激不尽!如有错误也请留言指正。考研数据结构练习,欢迎订阅我的专辑《考研数据结构题型分类讲解练习》目录一、概念解释二、小做两道题一、概念解释简单粗暴的讲就是同义词之间冲突了叫冲突 非同义词之间冲突了叫聚集(堆积)解释一下同义词:散列到统一地址的关键字称为同义词二、小做两道题1. 散列表中由于散列到同一个地址而引起的“堆积"现象,是由(B)A. 同义词之间发生冲突引起的B. 非同义词之间发生冲突原创 2020-12-18 21:51:22 · 14956 阅读 · 13 评论 -
若平衡二叉树的高度为6,且所有非叶结点的平衡因子均为 1,则该平衡二叉树的结点总数为( )。 12 20 32 33
写在前边的话:你的支持是我写作的动力,有帮助到你的话麻烦点赞加收藏呦。感激不尽!如有错误也请留言指正。考研数据结构练习,欢迎订阅我的专辑《考研数据结构题型分类讲解练习》若平衡二叉树的高度为6,且所有非叶结点的平衡因子均为 1,则该平衡二叉树的结点总数为( )。A. 12B. 20C. 32D. 33最小平衡二叉树节点个数公式:参考:https://www.nowcoder.com/questionTerminal/5b8cd286525541b68d30f9...原创 2020-12-18 20:58:57 · 6312 阅读 · 1 评论 -
散列函数设计方法
原创 2020-12-17 09:55:16 · 339 阅读 · 0 评论 -
一个有向图具有拓扑序列,那么他的邻接矩阵必为 一个有向图具有有序拓扑序列,那么他的邻接矩阵必为
写在前边的话:你的支持是我写作的动力,有帮助到你的话麻烦点赞加收藏呦。感激不尽!如有错误也请留言指正。考研数据结构练习,欢迎订阅我的专辑《考研数据结构题型分类讲解练习》下边这两个题很具有混淆性,我也说不明白为啥,记住吧。一个有向图具有拓扑序列,那么他的邻接矩阵必为(D)A.对称矩阵B.系数矩阵C.三角矩阵D.一般矩阵一个有向图具有有序拓扑序列,那么他的邻接矩阵必为(C)A.对称矩阵B.系数矩阵C.三角矩阵D.一般矩阵...原创 2020-12-15 11:27:09 · 2367 阅读 · 1 评论 -
树的数组表示法(单链或父链表示法)中兄弟结点的编号不一定是连续的() 对 错
写在前边的话:你的支持是我写作的动力,有帮助到你的话麻烦点赞加收藏呦。感激不尽!如有错误也请留言指正。考研数据结构练习,欢迎订阅我的专辑《考研数据结构题型分类讲解练习》【判断题】树的数组表示法(单链或父链表示法)中兄弟结点的编号不一定是连续的(对)【哈尔滨工业大学2002 三、3(1分)】解析:我们常见的树的数组表示法中,对数节点的编号是按层次(从上到下,从左倒右)进行编号。但是,编号方法可不止这一种,比如按先序遍历顺序编号、按中序遍历顺序编号、按后续遍历顺序编号。按照中序遍历编号时,F和.原创 2020-12-13 20:21:46 · 1194 阅读 · 1 评论 -
有5个字符,根据其使用频率设计对应的哈夫曼编码,以下()是可能的哈夫曼编码。【武汉大学 2006】 B.0000, 0001, 001,01,1 A.000, 001,010, 011, 1 D.00
写在前边的话:你的支持是我写作的动力,有帮助到你的话麻烦点赞加收藏呦。感激不尽!如有错误也请留言指正。考研数据结构练习,欢迎订阅我的专辑《考研数据结构题型分类讲解练习》有5个字符,根据其使用频率设计对应的哈夫曼编码,以下(ABC)是可能的哈夫曼编码。【武汉大学 2006】A.000, 001,010, 011, 1B.0000, 0001, 001,01,1C.000, 001,01,10, 11D.00, 100, 101,110, 111 哈夫曼树都是由两个节点合并为一个节点建立.原创 2020-12-13 18:38:13 · 6287 阅读 · 3 评论 -
二叉树节点和度的关系及特点
写在前边的话:你的支持是我写作的动力,有帮助到你的话麻烦点赞加收藏呦。感激不尽!如有错误也请留言指正目录一、完全二叉树 节点总数的特点二、二叉树 度的特点 1.n0与n2的关系 2.节点总数和度的关系三、例题 例题一 例题二 例题三一、完全二叉树 节点总数的特点设完全二叉树节点总数为n,那么有如下结论n为奇数时,完全二叉树中没有度为1的节点:我们可以这样看,完全二叉树第一层有一个节点,若想完全二叉树的总结点数...原创 2020-12-13 10:27:14 · 23209 阅读 · 3 评论 -
树、森林、二叉树的遍历对应关系
写在前边的话:你的支持是我写作的动力,有帮助到你的话麻烦点赞加收藏呦。感激不尽!如有错误也请留言指正树、森林、二叉树的遍历对应关系树、森林、二叉树的遍历对应关系 树 森林 二叉树 先序遍历 先序遍历 先序遍历 后序遍历 中序遍历 中序遍历 ...原创 2020-12-11 21:18:06 · 3568 阅读 · 0 评论 -
中缀表达式转换为后缀表达式、前缀表达式
写在前边的话:你的支持是我写作的动力,有帮助到你的话麻烦点赞加收藏呦。感激不尽!如有错误也请留言指正中缀表达式转换为后缀表达式可以分为两种方法,一种是利用栈,另一种是画树。题目中没有要求的话,最好不要用栈。强烈推荐画树法。换出来树,前缀表达式,后缀表达式只需要根据前序遍历和后续遍历即可得到,方便的很目录一、画树法二、利用栈例题:将中缀表达式a+b-a*((c+d)/e-f)+g转换为等价的后缀表达式ab+acd+e/f-*-g+。【2012年全国试卷试题2 一部分】一、..原创 2020-12-10 10:16:39 · 2615 阅读 · 3 评论 -
顺序表插入、删除平均移动次数
目录一、插入操作二、删除操作三、总结一、插入操作最好情况:在表尾插入(即i=n+1),元素后移语句将不执行,时间复杂度为0(1)。 最坏情况:在表头插入(即i=1),元素后移语句将执行n次,时间复杂度为0(n)。 平均情况:。解释如下:二、删除操作最好情况:删除表尾元素(即i=n),无须移动元素,时间复杂度为0(1)。 最坏情况:删除表头元素(即i-1),需移动除第一个元素外的所有元素,时间复杂度为0(n)。 平均情况:。解释如下:三、总结无论插入还是删除,需要移动的原创 2020-12-03 23:46:05 · 19712 阅读 · 7 评论 -
二叉树的非递归前序遍历,非递归中序遍历,非递归后序遍历
目录1.前序遍历1.1传统的非递归前序遍历1.2根据递归改来的2.中序遍历3.后序遍历1.前序遍历LeetCode《二叉树的前序遍历》前序遍历有两种常见的,一种是传统的,类似于中序遍历 1.1传统的非递归前序遍历 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right;原创 2020-11-28 22:28:59 · 277 阅读 · 0 评论 -
根据树的先序遍历判断中序遍历
写在前边的话:本文如果有帮助到你,麻烦给博主一个鼓励的赞呗一棵树的前序遍历序列为ABCDEFG,它的中序遍历序列可能是()A. CABDEFG B. ABCDEFG C. DACEFBG D. ADCFEG有这样一个知识点,树的前序序列对应入栈顺序,中序遍历对应出栈顺序(这个结论的解释可以点我查看)那么这个题就变为了:入栈顺序是ABCDEFG,出栈顺序可以是________关于根据入栈顺序判断出栈顺序是否合理可以查看我的这篇文章,...原创 2020-11-28 20:25:16 · 724 阅读 · 0 评论 -
拓扑排序
本文非常适合回答考研试题中关于拓扑排序的题输出下图的拓扑序列 图1-1 如图1-1所示,开始时寻找入读为0的顶点,图1-1中为(0),输出(0),并删除与(0)有关的边,得到图1-2 图1-2 在图1-2中寻找度为0的顶点,为(1),输出(1),并删除与(1)有关的边,得图1-3 图1-3 在图1-3中寻找入度为0的点,为(2),输出(2)并删除与(2)相关的边,得图1-4 .原创 2020-11-07 19:53:38 · 330 阅读 · 0 评论 -
Dijkstra算法 迪杰斯特拉算法 单源最短路径
写在前边的话:写作不易,有帮助到你的话麻烦点赞加收藏呦。感激不尽!如有错误也请留言指正【东南大学2000四(10分)】试利用Dijkstra算法求下图中从顶点a到其他各顶点间的最短路径,写出执行算法过程中各步的状态。Round1在第一轮中,填入b、c、d、e、f、g与a之间的距离,然后选出最短距离,并在下方标注路径 Round1 Round2 Round3 Round4 Round5 Round6 b 15 ...原创 2020-11-07 18:59:24 · 2006 阅读 · 2 评论 -
floyd算法 弗洛伊德算法 多源最短路径算法
写在前边的话:写作不易,有帮助到你的话麻烦点赞加收藏呦。感激不尽!如有错误也请留言指正一、弗洛伊德算法注:表格中值得下标代表最短的路径在弗洛伊德算法中,需要通过迭代填写矩阵的思路计算最短路径。在填写过程中有一些规律,以D0到D1为例。D0到D1在D1中填写的时候,不加证明的给出以下规律。如果红色区域有无穷,那么无穷所对应的列和行都填入原来的值(黄色区域)。剩余的空白格,以(V2,V3)这个格为例,如果红色与浅绿色的交点处的值相加比草绿色处的值小,就将.....原创 2020-11-06 20:47:29 · 4394 阅读 · 10 评论 -
堆排序及其过程
堆排序过程不懂得可以看这个视频,讲的太好了。堆排序(heapsort)-正月点灯笼(点击跳转up主主页)例题 1.【同济大学2001二(10分)】已知待排序的序列为(503, 87, 512, 61, 908, 170, 897, 275, 653, 462),试完成下列各题。(1)根据以上序列建立一个堆(画出第一步和最后堆的结果图),希望先输出最小值。(2)输出最小值后,如何得到次小值(并画出相应结果图)。...原创 2020-11-01 20:12:16 · 764 阅读 · 0 评论 -
希尔排序、快速排序的每一趟
一、希尔排序每一趟1.【中国海洋大学2007一、4 (8分)】对下列数据表,写出采用希尔排序算法的每一趟排序结果。(100, 12, 20, 31, 1, 5, 44, 66, 61, 200, 30, 8,150, 4, 8)设增量序列为: D=(5, 3, 1) 100 12 20 31 1 5 44 66 61 200 30 80 150 4 8 第一趟 5 12 20 .原创 2020-11-01 19:39:49 · 7658 阅读 · 2 评论 -
排序算法中各种与初始序列无关
链接:https://www.nowcoder.com/questionTerminal/16e660c81e2c43958961f8222375f384?source=relative来源:牛客网元素的移动次数与关键字的初始排列次序无关的是:基数排序 元素的比较次数与初始序列无关是:选择排序、折半插入排序 算法的时间复杂度与初始序列无关的是:选择排序、堆排序、归并排序、基数排序 算法的排序趟数与初始序列无关的是:插入排序、选择排序、基数排序...转载 2020-10-31 20:54:16 · 22437 阅读 · 7 评论 -
排序时空复杂度及稳定性表
图片来源于simple_wxl 博客原创 2020-10-30 19:20:31 · 370 阅读 · 0 评论 -
巧记稳定的排序(附带判断排序稳定排序例题)
不知道有没有童鞋和我一样,总是记不住哪些排序方法是稳定的,下面通过一句话来记住稳定的排序吧。插乌龟鸡鸡,乌龟就冒泡虽然有点污,但是好记啊。解释一下意思插:插入排序(包括直接插入和折半插入) 乌龟:归,归并排序(随便几路归并排序,都稳定) 鸡鸡:基,基数排序(又叫桶排序) 冒泡:冒泡排序例题:注:正确答案为紫色1 北京理工大学2005一、10 (1分)】排序算法的稳定性是指( )。A.经过排序之后,能使值相同的数据保持原顺序中的相对位置不变B.经过排序之后,能使值相同的数据保持原创 2020-10-28 20:05:10 · 1610 阅读 · 7 评论 -
二叉排序树删除
二叉排序树删除节点的规则如下没有孩子,直接删除 有一个孩子,孩子顶上 有俩孩子可以采取以下两种方法中任意一一种,口诀简记为 左子树最右节点 右子树最左节点 举例子:没有孩子直接删除图1-1有一个孩子,孩子顶上图2-1有俩孩子的 方法一:左子树最右节点 图3-1 方法二:右子树最左节点 图3-2...原创 2020-10-24 19:19:35 · 779 阅读 · 2 评论