Union-Find Algorithms
Goahead123321
这个作者很懒,什么都没留下…
展开
-
Weighted version of quick union
Weighted version of quick union 深刻理解代码中数组sz[]所起的权重的作用 #include using namespace std; const int N = 100; int main() { int i, j; int p, q; int id[N], sz[N]; // 数组sz[]表示子树中节点的数量 for (i=0; i<N原创 2013-01-31 08:39:29 · 1099 阅读 · 0 评论 -
Quick-Union
Quick-union solution to connectivity problem #include using namespace std; const int N = 100; int main() { int i, j; int p, q, id[N]; for (i=0; i<N; i++) { id[i] = i; } wh原创 2013-01-30 21:52:55 · 615 阅读 · 0 评论 -
最小生成树之Kruskal
Kruskal的基本算法思想是贪心算法。 步骤: 1. 图中所有的边以非递减的顺序进行排序; 2. 找到最短的边。检查到目前为止该生成树中有没有形成环,如果没有就加入该边,否则,丢弃该边; 3. 重复步骤二,直到生成树中有V-1条边。 其中,步骤二中检查是否有环,用的是并查集。原创 2013-09-21 09:30:56 · 744 阅读 · 0 评论