Data structures 一般树的大O复杂性是什么?

Data structures 一般树的大O复杂性是什么?,data-structures,Data Structures,我所说的一般树是一个具有多个子节点的不平衡树(不限于每个分支有两个子节点,就像二叉树一样)。删除节点、插入节点、查找节点的大O复杂度是多少在O(log(n))中平衡BST中搜索的平均时间复杂度。在非平衡二叉树中搜索最糟糕的情况是O(n)。如果你说的是一个对其数据没有特殊处理的常规k叉树,那么在树中找到任何一个节点都将花费O(n)时间,假设存在n节点 插入一个节点将是O(1),因为你可以将它存储在任何你想存储的地方,而删除一个节点将是O(n),因为你必须查看每个节点(最坏的情况)才能找到要删除的节

我所说的一般树是一个具有多个子节点的不平衡树(不限于每个分支有两个子节点,就像二叉树一样)。删除节点、插入节点、查找节点的大O复杂度是多少

在O(log(n))中平衡BST中搜索的平均时间复杂度。在非平衡二叉树中搜索最糟糕的情况是O(n)。

如果你说的是一个对其数据没有特殊处理的常规k叉树,那么在树中找到任何一个节点都将花费
O(n)
时间,假设存在
n
节点


插入一个节点将是
O(1)
,因为你可以将它存储在任何你想存储的地方,而删除一个节点将是
O(n)
,因为你必须查看每个节点(最坏的情况)才能找到要删除的节点,而且由于数据没有顺序,你不必对其余的节点做任何事情。

更一般地说,OP在d元树中询问的所有三个操作的平均时间复杂度是
O(log-base-d(n))
。当然,在渐近分析中我们忽略了常数(比如对数的底),所以
O(log(n))
实际上是正确的。OP不是专门询问二叉树,对吗?