数据结构
文章平均质量分 61
a2370889_com
这个作者很懒,什么都没留下…
展开
-
二叉树遍历
二叉树遍历分为:深度优先遍历和广度优先遍历,在课堂上主要提及到的先序遍历,中序遍历和后序遍历属于深度优先遍历,广度优先遍历的主要实现是层级遍历。二叉树本身属于图的一种,定义为连通的无环图,刚开始学习《算法4》这本书的时候还一直在翻目录,怎么没有提到重要的二叉树先序遍历,中序遍历和后序遍历呢?后来才拍拍脑门觉得自己太蠢了,写的深度优先和广度优先不就是为图设计的么,二叉树又本身就是图的一种。二原创 2017-12-09 23:31:36 · 160 阅读 · 0 评论 -
数据结构-图的分析
1、有向图的强连通分量的计算:Kosaraju算法时间复杂度:O(V+E),对于有向图的强连通性查询可以在常数时间内完成。步骤:1、对图G进行转置(反向图)得到图Gr 2、对Gr求得逆反序,即Gr的拓扑序列 3、从Gr的拓扑序列开始,进行深度优先搜索,得到的搜索树即强联通分量。说实话,这个算法从代码量上是非常简洁的,仅仅就是从遍历所有节点(0,1....v)变成了按照拓原创 2017-12-13 21:00:09 · 345 阅读 · 0 评论 -
数据结构知识点总结
一、树1、树(森林)和二叉树可以相互转化,规则是“左孩子右兄弟”,即当前节点的左孩子在由二叉树转化为树的过程中,左孩子还是当前节点的左孩子,而右节点会变成当前节点的兄弟。2、设二叉树度为0的节点有N0个,度为2的节点为N2,则N2=N0+1二、图1、无向图的数据结构是邻接多重表,有向图的数据结构是十字链表。二者都可以使用邻接表2、使得图从偏序到全序的遍历序列即拓扑排序,拓扑排序原创 2017-12-20 17:25:01 · 984 阅读 · 0 评论