今天,是寒假集训第一阶段的第四天了。为什么这样说呢?因为今天,我们(初二)得知了一件大事:年后还要进行一次筛选,同时还要进行几天的培训。所以说今天是第一阶段。
同时,我们还学了拓扑排序与关键路径。可以说,这应该是这几天最难的知识了。我也是完美地做到了“一听就会,一做就废”。今天早上的测试,也是完美地考砸了,本来分可以更高,但是有一题数组开太小了,20分就这样没了。总而言之,今天收获很大!!!!!!!!!!!!!!
上课资料:百度百科:对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(TopologicalOrder)的序列,简称拓扑序列。
代码实现
/ indegree[vexnum]:顶点的入度向量 s:栈 /
bool ToplogicalSort(Gragh G) {
// 1. 初始化栈
for(int i=0; inextarc) // 邻接顶点
{
v = p->adjvex; // 序号
if((–indegree[v]) 0)
S.push(v);
}
}
// 3. 判断排序是否成功
if(count < G.vexnum)
return false;
else return true;
}