【软考】【数据结构】图

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hongtao_6/article/details/81878076

基本概念

有向图:图间的连线有方向
完全图:每个对应定点之间相互连接。

图的存储

邻接矩阵:用一个n阶方阵R来存放图中各结点的关联信息。有连线用1表示,否则用0表示。
这里写图片描述
邻接表
这里写图片描述
首先把每个顶点的邻接顶点用链表示出来,然后用一个一位数组来顺序存储上面每个链表的头指针。

图的遍历

这里写图片描述

图的拓扑排序

我们把用有向边表示活动之间开始的先后关系,这种有向图称为用顶点表示活动网络,简称AOV网络。
这里写图片描述
上图的拓扑序列有:02143567 , 01243657 , 02143657 , 01243567

图的最小生成树

图当中很多的线去掉,只留下若干条线,把所以结点连贯起来,留下来的线都是权值较小的,从而使得留下来的线的权值加起来是最小的。
这里写图片描述
数和图最大的区别在于数无法形成环路。树的节点数为n,其线的条数最多为n-1,否则就构成了图。
普里姆算法:从一个结点出发,比如A,将A定义为红点集,其他集为蓝点集,找出红点集到蓝点集里最短的距离。
①A-B 100 , A-C 400 , A-F 250 , A-E 200,选择A-B,将B纳入红点集
②A-C 400 , A-F 250 , A-E 200 , B-C 400 , B-F 300 , 选择A-E,将E纳入红点集
③A-C 400 , A-F 250 , B-C 400 , B-F 300 , E-F 400 ,选择A-F,将F纳入红点集
④A-C 400 , B-C 400 , F-C 400 , F-D 200,选择F-D,将D纳入红点集
⑤A-C 400 , B-C 400 , F-C 400 , D-C 300,选择D-C、
注意:过程中不能形成环路,选出的5条线即为最小生成树
克鲁斯卡尔算法:在不形成环路的前提下,依次选择最短距离的n-1连线
A-B ,A-E , F-D , A-F , B-F(×) , C-D ,

猜你喜欢

转载自blog.csdn.net/hongtao_6/article/details/81878076