企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# AOV 网和拓扑排序 AOV(Activity On Vertex)网指用顶点表示活动,用边集表示活动间优先关系的有向无环图。 拓扑排序是指将有向无环图 G 的所有顶点排成的一个线性序列,且对图 G 中的任意两个顶点 u、v,若存在边 u->v ,则在序列中 u 一定在 v 前面。 ```c++ vector<int> Adj[maxv]; int n,m,inDegree[maxv]; bool topologicalSort(){ int num=0; queue<int> q; for(int i=0;i<n;i++){ if(inDegree[i]==0) q.push(i); } while(!q.empty()){ int u=q.front(); // printf("%d",u); q.pop(); for(int i=0;i<Adj[u].size();i++){ int v=Adj[u][i]; inDegree[v]--; if(inDegree[v]==0) q.push(v); } Adj[u].clear(); num++; // 每 pop 一个拓扑序列加1 } if(num==n) return true; else return false; } ```