algorithm - 嵌套二叉搜索树的复杂性

标签 algorithm binary-tree binary-search-tree

有谁知道如何计算嵌套二叉搜索树的复杂度?我已经实现了一个深度为 3 个 BST 的嵌套二叉搜索树。

编辑:对于造成的混淆,我深表歉意,我的意思是 BST 的每个节点都将指向另一个 BST 的根节点。我要求的复杂性是搜索、更新和删除(基本操作)的时间复杂性。我曾假设,由于 BST 的时间复杂度为 O(log(n)),因此嵌套 BST 在搜索、更新和删除方面的时间复杂度不会有太大差异。

最佳答案

我假设“嵌套”是指特定树的每个节点都指向另一棵树的根,最多 3 层深。

二叉搜索树通常需要 O(log n) 的查找时间。由于您要进行 3 次查找,因此是 O(log a * log b * log c)。当然,这是假设它们非常平衡和一切。二叉搜索树的最坏情况是 O(n)(想想它基本上是一条直线的树)。那么最坏情况下的时间就是 O(a * b * c)。

记录一下,a b 和 c 分别是第一棵树、第二棵嵌套树和第三棵双嵌套树中的元素数。

关于algorithm - 嵌套二叉搜索树的复杂性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5572454/

相关文章:

algorithm - 快速排序算法的运行时间分析

c - 如何使用 while 循环遍历二叉树?

在二叉搜索树中查找小于给定值的所有值的算法

c - 处置(释放)整个二叉搜索树

algorithm - 稳定婚姻及其延伸

c# - 是否有一种算法可以确定二维空间中的一组点是否形成一个封闭区域?

c - 树+递归

java - java中的二叉搜索树,主要不是从BST读取

java - 如果不使用递归,如何找到二叉搜索树的大小?

python - 欧式距离的高效计算