数据结构与算法
文章平均质量分 65
Van0512
这个作者很懒,什么都没留下…
展开
-
最小生成树——Prim/Kruskal
本篇先用邻接矩阵示例。 假定图中有如下数据成员以及成员函数: //邻接矩阵表示法 #ifndef GRAPH_H #define GRAPH_H #include "edge.h" //template class Graph { public: using T = char; ... void PrimMST(const int &index);原创 2016-10-31 02:49:35 · 336 阅读 · 0 评论 -
详解数据结构——图之邻接矩阵表示法
一、图的建立 图是表达“多对多”的关系的一种数据结构。 它由非空的有限顶点集合和有限边集合组成。 1. 顶点集合常常由数组表示。 数组下标表示顶点位置。 数组内容包含顶点数据,并且要添加判定是否被访问过的标志标量,为其余操作提供参数。 其数据类型定义如下: struct Vertex { T data; bool isVisited; } 2. 边原创 2016-10-29 22:54:38 · 3798 阅读 · 0 评论 -
AVL Tree解析
AVL树,最难理解的一点或许是——操作描述吧。~~~2333~~~ 非常多的地方,让操作的描述跟人的思维习惯产生矛盾,实在很遗憾。 为此,我摒弃左单旋、右单旋、左右双旋、右左双旋这些叫法,而采用顺时针旋转和逆时针旋转来说明。 破坏平衡的条件有四种,其中两两成镜像。因此,只需要理解两种方式,对应成镜像的,相信也会顺其而然的理解了。 1. 往左孩子的左边插入一个节点 2. 往右孩原创 2016-11-01 13:45:13 · 1000 阅读 · 0 评论