我们总是看到(二叉搜索)树上的操作具有 O(logn) 最坏情况的运行时间,因为树的高度是 logn。我想知道我们是否被告知算法的运行时间是 logn 的函数,例如 m + nlogn,我们是否可以得出结论它必须涉及(增强的)树?
编辑:感谢您的评论,我现在意识到分治和二叉树在视觉/概念上是如此相似。我从来没有在两者之间建立联系。但我想到了一个 O(logn) 不是分治算法的情况,它涉及一棵没有 BST/AVL/红黑树属性的树。
这是具有 Find/Union 操作的不相交集数据结构,其运行时间为 O(N + MlogN),其中 N 是元素的数量,M 是 Find 操作的数量。
如果我错过了某事,请告诉我,但我看不出分治法是如何在这里发挥作用的。我只是在这个(不相交集)案例中看到它有一个没有 BST 属性的树,并且运行时间是 logN 的函数。所以我的问题是关于为什么/为什么我不能从这个案例中做出概括。