当前位置:   article > 正文

AOV、AOE_aoe aov

aoe aov
  1. #include<stdio.h>
  2. #include<algorithm>
  3. #include<math.h>
  4. #include<iostream>
  5. #include<string.h>
  6. #include<vector>
  7. #include<queue>
  8. using namespace std;
  9. /*
  10. 拓扑排序:针对AOV网,按事件先后顺序输出(按照一定顺序输出入度为0的节点,并对节点的入度更新)
  11. 做法:定义缓冲队列,输出后修改邻节点的入度
  12. 在此提醒:邻接矩阵和邻接表区别:第二维是数组还是变长 数组
  13. AOE:
  14. 活动:是一个持续一定时间的事情
  15. 事件:一个活动完成,或者另一个活动开始的标志
  16. 关键活动:不能有任何的松弛,最早开始时间等于最晚开始时间
  17. */
  18. const int maxn=1e4;
  19. vector<int> g[maxn];
  20. int n,inde[maxn]={0};//入度,在录入数据时可记录(每有一条指向节点i的边,inde[i]++)
  21. bool topsort(){//最后有环就不能完全拓扑排序
  22. int num=0;
  23. queue<int> q;
  24. for(int i=0;i<n;i++)
  25. if(inde[i]==0)
  26. q.push(i);
  27. while(!q.empty()){
  28. int temp=q.front();
  29. //printf
  30. q.pop();
  31. for(int i=0;i<g[temp].size();i++){
  32. int u=g[temp][i];
  33. inde[u]--;
  34. if(inde[u]==0)
  35. q.push(u);
  36. }
  37. num++;
  38. }
  39. if(num==n) return true;
  40. else return false;
  41. }
  42. int main(){
  43. return 0;
  44. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/1010191
推荐阅读
相关标签
  

闽ICP备14008679号