![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
ve2102388688
这个作者很懒,什么都没留下…
展开
-
哈夫曼算法与编码
基本概念:哈夫曼树、WPL、哈夫曼编码哈夫曼(Huffman)树又称最优二叉树或最优搜索树,是一种带权路径长度最短的二叉树。 树的带权路径长度(WPL):就是树中所有的叶结点的权值乘上其到根结点的路径长度(若根结点为0层,叶结点到根结点的路径长度为叶结点的层数)。树的带权路径长度记为WPL=(W1*L1+W2*L2+W3*L3+…+Wn*Ln),N个权值Wi(i=1,2,…n)构成一棵有N个...原创 2018-05-13 13:31:12 · 493 阅读 · 0 评论 -
最短路径--dijkstra算法、弗洛伊德(Floyd)算法(带路径输出)
最短路径求最短路径重要性不言而喻,下面直接分析两个算法。 分类: 1:从某个源点到其余个点的最短路径 迪杰斯特拉(Dijkstra)算法 2:每一对之间的最短路径 弗洛伊德(Floyd)算法一:存储结构邻接矩阵(这里不再重复讲了,请参考): https://blog.csdn.net/weixin_39956356/article/details/80470091相关代...原创 2018-06-09 09:20:43 · 28902 阅读 · 16 评论 -
图的邻接表,关节点与重连通分量
写在前面:由于关节点是这次主角,所以把邻接表存储结构放在了后面,不过你是来学习图的邻接表,也不用担心,后面一段是图的邻接表详细讲解。自己都是把存储结构和其应用放在一起的。没办法,内容有点多,尽请见谅以下!关节点与重连通分量一:基本概念1:关节点在某图中,若删除顶点v以及v相关的边后,图的一个连通分量分割为两个或两个以上的连通分量,则称顶点V为该图的一个关节点。2:重连通分量...原创 2018-05-31 21:26:56 · 2549 阅读 · 0 评论 -
有向无环图拓扑排序与关键路径 邻接表的出度,入度
有向无环图 拓扑排序与关键路径一:基本概念1:有向无环图一个无环的有向图称做有向无环图(Directed Acyclic Graph)。简称DAG 图。DAG 图是一类较有向树更一般的特殊有向图, 2:拓扑排序对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列。简单的说,由某个集合上的一个偏序得...原创 2018-06-12 22:43:33 · 3971 阅读 · 4 评论 -
图的数组表示法(邻接矩阵)与Prim算法
普里姆(Prim)算法与最小生成树最小生成树(MST)对于连通网(带权图),选择生成树的总代价最少(Minimum Spanning Tree,MST ),比如一个N个城市之间的通信网,网的顶点代表城市,边代表这条路的修路费。那么这样就设计一个最小花费的问题。最小生成树可以由普里姆(Prim)算法和Kruskal(克鲁斯卡尔)算法求出一:普里姆(Prim)算法1:需要邻...原创 2018-05-27 17:47:49 · 6060 阅读 · 1 评论 -
二叉树的(先,中,后)序建树,线索化及遍历(四)
后序线索化及遍历注意:有些地方讲的粗超,是因为重复了,请看我的我的上篇文章。(先序,中序)线索化及遍历(我的上篇文章):https://blog.csdn.net/weixin_39956356/article/details/80142461二叉树的(先,中,后)序的建树https://blog.csdn.net/weixin_39956356/article/det...原创 2018-04-29 21:23:49 · 3154 阅读 · 2 评论 -
二叉树的(先,中,后)序建树,线索化及遍历(三)
(先序,中序)线索化及遍历由于篇幅的原因,这里仅仅展示(先序,中序)线索化及遍历,主要原因这两个有很高的相识度,思想几乎一样。仅仅是访问顺序不同!!! 接下来都是按先序操作实现功能(整体流程),中序操作实现功能(整体流程),后序操作实现功能(整体流程)。即一个一个讲完整在进行下一个。 后序线索化及遍历(我的下篇文章):首先,不管在哪种线索化,都需要一个pre指针指向上次访问的结点,因为...原创 2018-04-29 21:22:21 · 14785 阅读 · 6 评论 -
二叉树的(先,中,后)序建树,线索化及遍历(二)
二叉树的(先,中,后)序的建树核心:递归与访问顺序 (1):访问顺序 (2):反复递归调用先序建树:按照反访问顺序 //先序创建树Status CreatPreBiThreadTree(BiThrTree &T, char TreeArray[]){ char ch = TreeArray[N]; N++; if ('$...原创 2018-04-29 21:21:58 · 1168 阅读 · 0 评论 -
二叉树的(先,中,后)序建树,线索化及遍历(一)
由于二叉树的(先,中,后)序线索化及遍历有一定的复杂性,所以在(一)中我先简单的介绍一下基本特征。希望你能坚持阅读完接下来的几篇文章,我相信你可以收获颇多!!!整体代码会在最后一篇文章以百度云形式给出。一、 基本特征线索二叉树:利用二叉树中的空指针域 来存放在某种遍历次序下的前驱和后继 ,这种指针叫“线索”(Thread)。这种加上了“线索”(Thread)的二叉树称为线索二叉树.。 ...原创 2018-04-29 21:21:27 · 1054 阅读 · 0 评论 -
有向图的十字链表存储;深度优先、广度优先遍历
1:图的存储数组表示法—–邻接矩阵 邻接表———-邻接表与逆邻接表结合成十字链表,邻接表求入度需要整体遍历,不方便 十字链表——-有向图 邻接多重表—-无向图 这里先介绍最常用也比较复杂的十字链表2:十字链表定义:邻接表与逆邻接表相结合的一种链式储存结构,拥于邻接表易求出度的特点,又有逆邻接表易求入度的特点。每一条弧有一个结点,每一个顶点也有一个结点 先弄清楚几个概念...原创 2018-05-19 16:31:12 · 3855 阅读 · 1 评论 -
广义表与串的基本操作
一:广义表由于广义表涉及串的基本操作,所以这里把两个一起分析。当然自己还是把主角(广义表)放在前面,串放在后面。1:广义表定义广义表(Lists,又称列表)是一种非线性的数据结构,是线性表的一种推广。2:简洁描述GList(α1,α2,α3···,αn),是一种递归定义的线性结构, 3:基本性质1:各元素存在相对位序 2:广义表可以共享 3:广义表的长度为n ...原创 2018-06-24 11:07:45 · 581 阅读 · 0 评论