![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 92
算法菜鸟飞高高
这个作者很懒,什么都没留下…
展开
-
Floyd算法思想及C语言实现
算法简介Floyd算法用于求解图中各个顶点之间的最短路径,算法用三层for循环中一个if判断就可以求解,相比于对图中每个顶点应用一次Dijkstra算法来求解单源最短路径,Floyd算法的常数项更少,效率更高。算法的思想本人认为初学者理解Floyd算法的详细过程与其中的道理还是有点困难的,所以进行一步步的详细阐述。首先给出一个有向图:...原创 2020-05-01 21:07:41 · 2292 阅读 · 1 评论 -
哈夫曼树的构造算法以及计算加权路径长度WPL
哈夫曼树的构造算法算法思路有W1,W2… …W1 一共n个权值的结点,把每个结点看作一棵树。从n个结点中找出权值最小的两个结点,创建一个新结点,权值为二者的和。两个结点分别为新结点的左右孩子(左小右大,左大右小都可以)。将两个结点从森林中删除,新结点加入其中重复1 ~ 3步,直至只剩一棵树,这棵树便是哈夫曼树。如何用一个数组来构建一棵树?如 arr = {3,4,2,5,7,2}...原创 2020-04-18 21:50:19 · 2636 阅读 · 0 评论 -
平衡二叉树的算法思想
前言本篇博文主要想要阐述清楚的是:平衡二叉树在插入和删除结点的过程中如何保证平衡二叉树本身的平衡性不被破坏。网上有很多同类型的博文,但大多没有从初学者的思路出发,而是把现有的结论的照搬陈述,所以很多人只是记得结论,而不知道思考这个算法的过程。平衡二叉树的定义任意一个结点左右子树的高度差绝对值不超过1,我们把左子树和右子树的高度差称为平衡因子,所以平衡因子的取值范围为 -1,0, 1.平衡...原创 2020-04-16 08:49:43 · 1319 阅读 · 0 评论 -
二叉排序树的删除算法
关于二叉排序树的定义以及如何查找指定关键字的结点不再赘述,本篇文章主要讨论二叉排序树如何删除一个指定的结点。原创 2020-04-15 19:16:01 · 3537 阅读 · 0 评论 -
二叉树遍历全面总结(先,中,后序,层序,递归及非递归版本,如何利用遍历方法解决实际问题)
这篇博文记录了关于二叉树遍历事无巨细的内容,帮助读者全面理解二叉树的遍历,如何利用二叉树的遍历来解决一些重要的问题。原创 2020-04-12 08:19:45 · 882 阅读 · 0 评论 -
单链表的相交以及有环无环问题(含数学证明)
单链表的有无环判断以及数学证明简介:单链表判断有环无环,在数据结构考研和在笔试面试题中都是链表问题的重难点。下面从拓扑关系,判断思路,数学证明,代码实现四个方面来阐述。拓扑关系单链表有环必定只有一个环,这是由单链表每个结点只有一个next指针来确定的。上面的拓扑结构必然不可能给出现,因为结点3出现了两个next。另外值得注意的是两个结点之间也可以形成一个封闭的环。判断思路如何...原创 2020-03-30 18:13:27 · 570 阅读 · 0 评论