数据结构
文章平均质量分 76
莫浅子
这个作者很懒,什么都没留下…
展开
-
数据结构—最小生成树
设R为G的所有生成树的集合,若T为R中边的权值之和最小的生成树,则T称为G的最小生成树(Minimum-Spanning-Tree,MST)。所以不选,在找,权值是5的有俩个,然而,学校和矿场确是俩通的,只能选农场和P城,选完以后发现全部连通。在从剩余的边中找到权值最小的,有俩个是P城和矿场以及P城和渔村,随便选都行。然后找那个点,到P城和学校形成的树中,最小代价的,我们可以看到,只有矿场到P城是最小的。然后看哪个点到这个三个点形成的树最小的代价,知道渔村是最小的,连接矿场和渔村。所以连接P城和矿场。原创 2022-12-17 17:26:48 · 9656 阅读 · 61 评论 -
详解BFS,Dijkstra算法,Floyd算法是如何解决最短路径问题的
目录1.BFS算法2.Dijkstra算法3.Floyd算法4.总结G纲是个物流离散中心,经常需要往各个城市运东西,怎么运送距离最近——单源最短路径问题各个城市之间也学要来往,相互之间怎么走距离最近?——每对顶点之间的最短路径如下图,BFS算法是如何实现最短路径问题的呢?设从顶点2开始,第一次搜索的结点为1号结点和6号结点,路径为1,从1号结点和6号结点开始找相邻的接地,5号结点和3号7号为相邻的结点,然后5号结点周围都是已经访问过的,3号结点和7号结点分别搜索搭配4号和8号结点,路径为4 代码 B原创 2022-11-27 22:28:55 · 10538 阅读 · 68 评论 -
图的二种遍历-广度优先遍历和深度优先遍历
这样一个图中,是如何实现广度优先遍历的呢,首先,从1遍历完成之后,在去遍历2,3,4,最后遍历5 ,6 , 7 , 8。这也就是为什么叫做广度优先遍历,是一层一层的往广的遍历不存在“回路”,搜索相邻的结点时,不可能搜到已经访问过的结点树的广度优先遍历(层序遍历)图的广度优先和树的广度优先还是非常相似的,首先我们假设我们从 2 号结点开始,然后广度优先遍历 1 , 6 (这里面1和6的顺序无所谓,但是还是为了保持一定的顺序,一般从小的开始)然后1的话再遍历就是5 , 6再找相邻的就是 3 和 7 ,于是原创 2022-11-23 07:45:00 · 11883 阅读 · 39 评论 -
详解数据结构——二叉排序树
二叉排序树,又称二叉查找树(BST,Binary Search Tree)一棵二叉树或者是空二叉树,或者是具有如下性质的二叉树:左子树上所有结点的关键字均小于根结点的关键字;右子树上所有结点的关键字均大于根结点的关键字。左子树和右子树又各是一棵二叉排序树左子树结点值原创 2022-10-29 15:14:58 · 17189 阅读 · 70 评论 -
数据结构篇-树与森林
树是n (n≥0)个结点的有限集合,n=0时,称为空树,这是一种特殊情况。在二叉树中,如果是兄弟关系就在右边,如果是孩子就在左边 ,本质上,用二叉链表存储森林。上图这样一棵树的先根遍历顺序和二叉树的很像,按照二叉树的方法。上图这样一棵树的后根遍历顺序和二叉树的很像,按照二叉树的方法。中序遍历森林中第一棵树的根结点的子树森林。1)有且仅有一个特定的称为根的结点。原创 2022-10-28 07:30:00 · 1714 阅读 · 32 评论 -
线索二叉树 —C语言王道
——普通二叉树缺点——中序线索二叉树——先序线索二叉树——后序线索二叉树—— 三种线索二叉树的比较二叉树的线索化普通方法代码中序线索化代码先序线索化代码后序线索二叉树代码原创 2022-10-02 21:16:07 · 1769 阅读 · 2 评论 -
由遍历序列构造二叉树--王道
若只给出一棵二叉树的前/中/后/层 序遍历序列的一种,不能唯一确定一棵二叉树。前序遍历 + 中序遍历序列后序+中序遍历序列层序遍历+中序遍历序列原创 2022-09-30 20:40:13 · 1617 阅读 · 0 评论 -
一文帮你搞懂 | 串的模式匹配-朴素匹配和KMP算法及优化
朴素模式匹配算法KMP算法求模式串的next数组总结:求模式串的next数组KMP算法优化本篇文章参考王道数据结构内容,详细引导KMP算法的内容原创 2022-09-27 18:24:16 · 1179 阅读 · 3 评论 -
串的存储结构 --王道
本篇文章参考王道网课的内容。原创 2022-09-24 21:27:54 · 992 阅读 · 5 评论 -
C语言双链表,循环链表,静态链表讲解(王道版)
一、双链表初始化(带头结点):双链表的插入:双链表的遍历循环链表循环单链表的初始化循环双链表的初始化双链表的插入双链表的删除静态链表定义静态链表插入删除原创 2022-09-17 21:38:38 · 1326 阅读 · 2 评论 -
C语言单链表实现初始化、创建、增、删、查等基本操作(详细)
一、单链表的定义及初始化1、定义2、初始化1)不带头结点的单链表2)带头节的单链表二、单链表插入和删除1)插入1、按位序插入(带头结点)2、按位插入(不带头结点)3、指定结点的后插操作4、指定结点的前插操作2)删除1、按位序删除(带头结点)2、指定结点删除3、指定最后结点的删除三、查找1)按位查找2)按值查找四、建立1)头插法2)尾插法六、补充求单链表长度...原创 2022-08-31 15:03:58 · 23987 阅读 · 17 评论 -
邻接表详解(C/C++)
一、概念二、分类1)无向图的邻接表2)有向图的邻接表(出弧)3)有向图的逆邻接表(入弧)三.步骤四、代码原创 2022-08-24 09:01:51 · 42316 阅读 · 2 评论 -
邻接矩超详解(C/C++)
一、领接矩阵1.概念2.分类3.步骤4. 邻接矩阵的优缺点5.代码原创 2022-08-22 19:20:05 · 10067 阅读 · 1 评论 -
C++栈的基本操作及原理和STL函数
C++栈的基本操作及原理和STL函数,栈是限定仅在尾部进行插入和删除操作的线性表原创 2022-08-17 13:39:37 · 1828 阅读 · 0 评论 -
c++单链表的基本操作(全)
c++中链表的基础操作原创 2022-08-16 22:15:31 · 2836 阅读 · 3 评论 -
队列的基本概念详解,循环队列、链式队列的C++详细实现
队列的基本概念详解,循环队列、链式队列的C++详细实现原创 2022-08-17 21:01:54 · 883 阅读 · 0 评论 -
详解二叉树的存储王道版(C++/C)
一、树是什么?1.树的概念2.结点的分类3.树的其他相关概念4.数的存储结构5、树的常考性质二、二叉树1.如何引入二叉树2.相互转换(1)树转换二叉树(2)二叉树还原为树(3) 森林转化为二叉树3.二叉树概念4.二叉树的五种状态5.几种特殊的二叉树6.二叉树的性质7.完全二叉树的常考性质8.二叉树的存储原创 2022-08-19 18:02:49 · 1503 阅读 · 0 评论 -
详解二叉树遍历(C/C++)
文章目录一、先序遍历1.知识点概述2.图片理解编辑3.代码二、中序遍历1.知识点概述2.图片理解3.代码三、后序遍历1.知识点概念2.图片理解3.代码四、层序遍历1.知识点概述2.图片理解3.代码五、二叉树的建立1.补空法六、二叉树的还原1.算法步骤2.代码总结(二叉树的四种遍历代码)原创 2022-08-20 14:07:16 · 553 阅读 · 2 评论