大话数据结构之图

1.图的定义 

1.图(Graph)是由定点的有穷非空结合和顶点之间的边的集合组成的。常表示为G(V,E), 其中G表示一个图,V是图G中顶点的集合,E是图G中边的集合。

2.在无向图中,如果任意两个顶点之间都存在边,则称该图为无向完全图。

3.在有向图中,如果任意两个顶点之间都存在方向互为相反方向的两条弧,则该图成为有向完全图。

4.有很少条边或者弧的图成为稀疏图,反之成为稠密图。

5.图的边或者弧相关的系数叫做权,这种带权的图通常称为网。

6.在无向图G当中,如果任意两个顶点都是连通的,称为连通图。

7.无向图图的顶点的边数叫做度,有向图的顶点分为入度和出度。

8.无向图中连通n个顶点n-1条边叫生成树。有向图中入读为0其余项入度为1的叫有向树。一个有向图由若干棵有向树构成森林。‘

2. 图的存储结构

2.1 邻接矩阵

2.2 邻接表

2.3 十字链表

2.4 邻接多重表

2.5 边数集合

3.图的遍历

3.1 深度优先遍历

3.2 广度优先遍历

4. 最小生成树

4.1 构成连通网的最小代价生成树称为最小生成树(Minimum Cost Spanning Tree)。

4.1.1 普里姆(Prim)算法

4.1.2 克鲁斯卡尔(Kruskal)算法

 5.最短路径

对于网图来说,最短路径是指两顶点之间经过的边上权值之和最少的路径,并且我们称路径上的第一个点为源点,最后一个点是终点。

5.1 迪杰斯特拉(Dijkstra)算法

5.2 弗洛伊德(Floyd)算法

6.拓扑排序

1.在一个表示工程的有向图中,用顶点表示活动,用弧表示活动之间的优先关系,这样的有向图为顶点表示的活动的网,成为AOV(Activity On Vertex Network).

2.拓扑序列排序其实就是对有向图构造拓扑序列的过程。

3.对AOV网排序的基本思路: 从AOV网中选择一个入度为0的顶点输出,然后删除此顶点,并删除以此顶点为尾的弧,继续重复此步骤,直到输出全部顶点或者AOV网中不存在入度为0 的点为止。

4.拓扑排序主要解决一个工程能否顺利进行的问题

7.关键路径

1.关键路径解决工程完成需要的最短时间;

2.在表示一个工程的带权有向图中,用顶点表示事件,用有向边表示活动,用边上的权值表示活动的持续时间,这当中有向图的边表示活动的网,称之为AOE网(Activity On Edge Network)。

3.路径上各个活动所持续的时间之和成为路径长度,从源点到汇点具有最大长度的路径称为关键路径,在关键路径上的活动称为关键活动。

4.只需要找到所有活动的最早开始时间和最晚开始时间,并比较他们,如果相等则意味着此活动是关键活动,活动键的路径称为关键路径。

 

 

 

 

 

 

Reference:

1.大话数据结构

 

posted on 2020-10-25 10:45  KHacker  阅读(126)  评论(0编辑  收藏  举报