(M)BFS:310. Minimum Height Trees
来源:互联网 发布:mac 怎么创建xlsx文档 编辑:程序博客网 时间:2024/06/03 18:10
求给定图中,能形成树的最矮的树。
BFS,利用无向图每个点的degree来计算。先计算每个点的degree,然后将degree为1的点放入list或者queue中进行计算,把这些点从邻接表中去除,然后计算接下来degree = 1的点。最后剩下1 - 2个点就是新的root。
class Solution {public: vector<int> findMinHeightTrees(int n, vector<pair<int, int>>& edges) { vector<unordered_set<int>> graph(n); for(auto a : edges) { graph[a.second].insert(a.first); graph[a.first].insert(a.second); } vector<int> temp; if (n == 1) { temp.push_back(0); return temp; } for(int i = 0; i < n; ++i){ if(graph[i].size() == 1) temp.push_back(i); } while(true) { vector<int> next; for(auto a : temp){ for(auto neighbor : graph[a]) { graph[neighbor].erase(a); if(graph[neighbor].size() == 1) next.push_back(neighbor); } } if(next.size() == 0) return temp; else temp = next; } }};
阅读全文
0 0
- (M)BFS:310. Minimum Height Trees
- 310. Minimum Height Trees【M】【37】
- 310. Minimum Height Trees
- 310. Minimum Height Trees
- 310. Minimum Height Trees
- 310. Minimum Height Trees
- 310. Minimum Height Trees
- 310. Minimum Height Trees
- 310. Minimum Height Trees
- 310. Minimum Height Trees
- 310. Minimum Height Trees
- 310. Minimum Height Trees
- 310. Minimum Height Trees
- 310. Minimum Height Trees
- 310. Minimum Height Trees
- 310. Minimum Height Trees
- 310. Minimum Height Trees
- 310. Minimum Height Trees
- PHP和JAVA在web开发上的的区别
- 1058. A+B in Hogwarts (20)
- const 参数重载与const 成员函数重载
- 使用plt *.log
- hdu 1078(记忆化搜索)
- (M)BFS:310. Minimum Height Trees
- 字符串hash——Codeforces533F Encoding
- 开博客,记录
- vector的用法
- autofs服务之光盘自动挂载
- 1061. Dating (20)
- MySQl + java-web 数据分页案例
- Relection2017.10.18
- 表格属性介绍