当前位置:   article > 正文

社交网络图中结点的“重要性”计算(并查集+bfs)

社交网络图中结点的“重要性”计算

收获:

1.判断是否连通,用并查集

2.有多少层数 用bfs

代码:

  1. #include <iostream>
  2. #include <queue>
  3. #include <cstring>
  4. using namespace std;
  5. #define N 10005
  6. int map[N][N];
  7. int visited[N] = {0};
  8. int pre[N];
  9. int n, m;
  10. int find(int x) {
  11. if(x != pre[x])
  12. return pre[x] = find(pre[x]);
  13. return x;
  14. }
  15. void Union(int x, int y) {
  16. int a = find(x);
  17. int b = find(y);
  18. if(a != b)
  19. pre[a] = b;
  20. }
  21. int BFS(int s) {
  22. memset(visited, 0, sizeof(visited));
  23. visited[s] = 1;
  24. queue<int> q;
  25. q.push(s);
  26. int last = s;
  27. int tail;
  28. int level = 0;
  29. int cnt = 0;
  30. int sum = 0;
  31. while(!q.empty()) {
  32. int l = q.front();
  33. q.pop();
  34. for(int i = 1; i <= n; i++)
  35. if(!visited[i] && map[l][i]) {
  36. visited[i] = 1;
  37. q.push(i);
  38. c
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/677476
推荐阅读
相关标签
  

闽ICP备14008679号