【数据结构_Day06】图

1.图

有向图

无向图

完全图

六度空间理论

①图的存储结构

 ● 数组表示法(邻接矩阵)    多用于稠密图

 有向网的临界矩阵  (网即有权图)

 ● 链式表示法(邻接表)     多用于稀疏图

邻接表是不唯一的

逆邻接表  容易计算入度

 ● 十字链表——用于有向图

 ● 邻接多重表——用于无向图   解决边的两次存储问题

②图的遍历

 ■ 深度优先遍历

递归 +  回溯 

非连通图的遍历

 ■ 广度优先遍历

2.图的应用

①最小生成树

生成树:所有顶点均由边连接在一起,但不存在回路的图

最小生成树:各边权值之和最小的生成树

————————————————————————

MST性质:

在生成树构造过程中,图中n个顶点分别属于两个集合:

     已经落在生成树上的顶点集:U

     尚未落在生成树上的顶点集:V-U

接下来则对应在所有连通U中的顶点和V-U中的顶点的边中选取权值最小的边。

————————————————————————

 ◆ 普里姆算法 (贪心算法)   适用于稠密图

简单理解:分U和V-U两个集合,然后找最小权值的边进行连通

 ◆ 克鲁斯卡尔算法(贪心算法) 适用于稀疏图

简单理解:把所有结点放到集合中,找到最小的边依次连接,但是不能生成环,直到n-1条边则表示完成

②最短路径

有向表

 ◆ Dijkstra 算法——单元最短路径

简单理解:首先起始结点U和其余结点V-U分为两个集合,从起始点找直达最小的边,无法直达的记为无穷大(∞),然后把最小弧的结点加入到起始点的集合U中,然后在找该U集合中的直达结点最小的边,无法直达仍记作为无穷大,然后以此递归寻找

 ◆ Floyd算法

③拓扑排序

 ● 有向无环图

无环的有向图,简称DAG图(Directed Acycline Graph)

——————————————————————

AOV网 :拓扑排序

     用一个有向图表示一个工程的各个子工程及其相互制约的关系,其中以顶点表示活动弧表示活动之间的优先制约关系,称这种有向图为顶点表示活动的网,简称AOV网(Activity On Vertex network)

AOE网 :关键路径

     用一个有向图表示一个工程的各子工程及其相互制约的关系,以弧表示活动,以顶点表示活动的开始或者结束事件,称这种有向图为边表示活动的网,简称AOE网(Activity On Edge)

———————————————————————

拓扑排序

 简单算法理解:

 ⅰ 找到没有前驱的结点开始,找到该顶点,输出

 ⅱ 删除以该顶点为弧尾的弧

 ⅲ 重复ⅰ、ⅱ两个步骤,(可以用来判断是否有回路,有回路则结点无法全部输出)

④ 关键路径

关键路径:路径长度最长的路径

关键活动:关键路径上的活动,即l(i)==e(i),(即l(i)-e(i)==0)的活动

ve(vj)——表示事件vj的最早发生时间

vl(vj)——表示事件vj的最迟发生时间

e(vj)——表示活动ai的最早开始时间

l(vj)——表示活动ai的最迟开始时间

l(i)-e(i)——表示完成活动ai的时间余量

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值