删除二叉树中的节点的时间复杂度是多少

use*_*871 6 big-o binary-tree time-complexity data-structures

要删除二叉树中的节点,我们必须搜索节点.这在最小O(log N)和max O(N)中是可能的.根据节点,我们必须重新排列指针.我们如何计算时间复杂度.

tem*_*def 14

这取决于你如何删除.最常见的方法是找到节点的后继节点,然后用该后继节点替换节点.这可以在O(h)中完成,其中h是树的高度.在最坏的情况下,这是O(n),但在平衡树中是最坏情况的O(lg n).


wal*_*lyk 0

大部分复杂性在于搜索节点。一旦找到\xe2\x80\x94,只要保留父节点\xe2\x80\x94,就只需多赋值几次即可删除该节点。所以这是一个恒定的命令。

\n