帮人注册网站 做app,wordpress 风格 切换,wordpress使用七牛防止降权,网络系统管理工作的主要内容一、有向图中的排序与调度
1、深度优先搜索的排序
使用深度优先搜索对图中顶点进行排序#xff0c;根据数据结构性质与递归保存顺序#xff0c;有以下三种排列顺序
#xff08;1#xff09; 前序#xff1a;在递归调用之前将顶点加入队列。 #xff08;2#xff09;后…一、有向图中的排序与调度
1、深度优先搜索的排序
使用深度优先搜索对图中顶点进行排序根据数据结构性质与递归保存顺序有以下三种排列顺序
1 前序在递归调用之前将顶点加入队列。 2后序在递归调用之后将顶点加入队列。 3逆后序在递归调用之后将顶点压入栈。
几个结论
1一幅有向无环图的拓扑顺序即为所有顶点的逆后序排列
2使用深度优先搜索对有向无环图进行拓扑排序所需的时间和 VE 成正比。
3在有向图中深度优先搜索标记由一个集合的顶点可达的所有顶点所需的时间与被标记的所有顶点的出度之和成正比。
2、拓扑排序与任务调度
解决任务调度类应用通常需要以下 3 步 1指明任务和优先级条件 2不断检测并去除有向图中的所有环以确保存在可行方案的 3使用拓扑排序解决调度问题。
调度方案的任何变动之后都需要再次检查是否存在环然后再计算新的调度安排。 二、有向图中的连通性与可达性
1、问题描述
强连通性问题给定一幅有向图回答“给定的两个顶点是强连通的吗这幅有向图中含有多少个强连通分量 ”等类似问题。
顶点对的可达性问题 给定一幅有向图回答“是否存在一条从一个给定的顶点 v 到另一个给定的顶点 w 的路径 ”等类似问题。
2、Kosaraju 算法
Kosaraju 算法是一种在有向图中高效计算强连通分量的算法。
Kosaraju 算法使用深度优先搜索查找给定有向图 G 的反向图 GR根据由此得到的所有顶点的逆后序再次用深度优先搜索处理有向图 G其构造函数中的每一次递归调用所标记的顶点都在同一个强连通分量之中。
3、步骤
1在给定的一幅有向图 G 中使用 DepthFirstOrder 深度优先来计算它的反向图 GR 的逆后序排列。 2在 G 中进行标准的深度优先搜索但是要按照刚才计算得到的顺序而非标准的顺序来访问 所有未被标记的顶点。
3所有在同一个递归 dfs() 调用中被访问到的顶点都在同一个强连通分量中将它们识别出来。