并查集问题中,有一种按树大小(节点总数)合并树的算法。也就是用数组写树,合并两棵树时总是将小树(节点总数较小的树)的根节点连接到大树的根节点上。
该算法的一个性质是,其构造的森林中的任意节点的深度最多为 lgN 。
我不清楚为什么它的最坏情况是不断合并节点总数相同的两颗树,比如 2-2 (合并节点总数都为 2 的两棵树)、4-4 、8-8... 想着是因为树的深度越大,find 操作可能的最坏情况就越耗时,然而,一颗不平衡的二叉树难道不比平衡的二叉树有更差的最坏情况吗?
不知道该怎样理解?谢谢。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.