Advertisement
aqibm

Untitled

Mar 11th, 2025
15
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. vector<int> bfs(int index, vector<int>& nodes, unordered_map<int,int>& delete, vector<int>& vis){
  2. int n = nodes.size();
  3. vector<int> tree;
  4. tree.push_back(node[i]);
  5. vis[index] = 1;
  6. queue<int> q;
  7. q.push(index);
  8. while(!q.empty()) {
  9. int node = q.front();
  10. q.pop();
  11. int L = 2*index + 1;
  12. int R = 2*index + 2;
  13. if(L<n && vis[L]==0 && delete.find(L)==delete.end()){
  14. vis[L] = 1;
  15. q.push(L);
  16. tree.push_back(node[L]);
  17. }
  18. if(R<n && vis[R]==0 && delete.find(R)==delete.end()){
  19. vis[R] = 1;
  20. q.push(R);
  21. tree.push_back(node[R]);
  22. }}
  23. Return tree;
  24. }
  25.  
  26.  
  27. vector<vector<int>> findForest(vector<int> nodes, vector<int> to_delele){
  28. int n = nodes.size();
  29. vector<int> vis(n,0);
  30. unordered_map<int,int> delete;
  31. for(int x: to_delete){
  32. delete[x] = 1;
  33. }
  34. vector<vector<int>> forests;
  35. for(int i=0;i<n;i++){
  36. if(vis[i] == 0 && delete.find(i)==delete.end()){
  37. vector<int> current_tree: bfs(i);
  38. forests.push_back(current_tree);
  39. }
  40. }
  41. return forests;
  42. }
  43.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement