树上启发式合并 入门
什么是启发式合并
启发式合并,说白了,就是在合并两个集合的时候,把小的往大的合并。这样操作的次数会少一点。
顾名思义:树上启发式合并就是指在树上进行这个操作。
复杂度证明。
感性证明:
假设总共\(n\)个元素。最终要合并为一个集合。
由于每次都是小的集合往大的集合合并。
所以对于每个元素,每次集合合并。它所在的集合的大小至少翻倍。
每次至少翻倍,那么至多翻倍\(log_2 n\)次
总共\(n\)个元素
故复杂度为 \(O(nlog_2n)\)
启发式合并,说白了,就是在合并两个集合的时候,把小的往大的合并。这样操作的次数会少一点。
顾名思义:树上启发式合并就是指在树上进行这个操作。
感性证明:
假设总共\(n\)个元素。最终要合并为一个集合。
由于每次都是小的集合往大的集合合并。
所以对于每个元素,每次集合合并。它所在的集合的大小至少翻倍。
每次至少翻倍,那么至多翻倍\(log_2 n\)次
总共\(n\)个元素
故复杂度为 \(O(nlog_2n)\)