You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于数组实现的不相交集最大高度及simpleFind最坏时间复杂度问询

不相交集测试题解答

问题1:最终单棵树的最大高度

你的判断正确,答案为 n-1。
实现逻辑说明:simpleUnion 没有任何合并优化规则,仅要求传入两个根节点,直接将第一个根的父节点设为第二个根。如果我们每次都将已合并好的整棵树的根节点,挂载到新的单个独立节点的根节点下,每次合并都会让树的高度加1,最终合并所有节点后会形成一条链式结构,根到叶子的最长路径边数正好为n-1。

问题2:simpleFind的最坏时间复杂度

答案为 O(n),并非O(log n)。
逻辑说明:O(log n)的查找复杂度是不相交集引入按秩合并、按大小合并等优化策略后的结果。本题所用的simpleUnion没有优化,最坏场景下会生成高度为n-1的链式树,此时查找最底层叶子节点的根时,simpleFind需要遍历从叶子到根的所有节点,遍历次数和节点数n呈线性关系,因此最坏时间复杂度为O(n)。


内容的提问来源于stack exchange,提问作者chae yeon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 01:24:02