摘要: 拓扑排序代码: public class Topological { private Iterable<Integer> order; // topological order private int[] rank; // rank[v] = rank of vertex v in order pu 阅读全文
posted @ 2021-01-21 14:45 wangheq 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 有向图中基于深度优先搜索的顶点排序: 前序:在递归调用之前将顶点加入队列 后序:在递归调用之后将顶点加入队列 逆后序:在递归调用之后将顶点压入栈 代码: public class DepthFirstOrder { private boolean[] marked; // marked[v] = h 阅读全文
posted @ 2021-01-21 14:22 wangheq 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 判断图中是否有一个有向环: edgeTo 数组找到有向环的所有顶点 onStack 调用dfs时将其设置为true,调用结束时设为false。 public class DirectedCycle { private boolean[] marked; // marked[v] = has vert 阅读全文
posted @ 2021-01-21 13:59 wangheq 阅读(149) 评论(0) 推荐(0) 编辑