topological-sort

来源:互联网 发布:韩国美女健身爆红网络 编辑:程序博客网 时间:2024/05/04 20:42

dfs:

// dfspublic void depthFirstSearch() {int i;for (i = 0; i < this.nVertexs; i++)vertexSet[i].setColor(0);for (i = 0; i < this.nVertexs; i++)if (vertexSet[i].getColor() == 0)dfsVisit(i);}// dfsVisitprivate void dfsVisit(int index) {Vertex indexVertex = vertexSet[index];indexVertex.setColor(1);// begin timeSystem.out.print("顶点" + indexVertex.getV() + "  ");for (int i = 0; i < indexVertex.getNextList().size(); i++) {Vertex vertexAdjIndex = indexVertex.getNextList().get(i);if (vertexAdjIndex.getColor() == 0)dfsVisit(vertexAdjIndex.getIndex());}// end time//insert this vertex to linked list}



topological_sort

0, call dfs(G) to compute finishing times f[v] for each vertex v

1, as each vertex is finished , insert it onto the front of a linked list

2, return the linked list of vertices

原创粉丝点击