阅读777 返回首页    go 阿里云 go 技术社区[云栖]


拓扑排序

伪代码如下:

1. 栈S初始化;累加器count初始化;

2. 扫描顶点表,将没有前驱(即入度为0)的顶点压栈;

3. 当栈S非空时循环

    3.1 vj=退出栈顶元素;输出vj;累加器加1;

3.2 将顶点vj的各个邻接点的入度减1;

3.3 将新的入度为0的顶点入栈;

4. if (count<vertexNum) 输出有回路信息;




用栈和队列都可以实现拓扑排序,只是打印顺序不同

最后更新:2017-04-03 12:53:59

  上一篇:go 检查一个二叉树是否平衡的算法分析与C++实现
  下一篇:go 贪吃蛇程序VS2012编译成功