标签: algorithm oop data-structures binary-tree avl-tree
我知道在AVL树中删除节点会花费O(logn)的时间复杂度。也就是说,删除具有n个节点的AVL树将花费O(n logn)。但是,我想知道我的目标是否是要使AVL树的排序元素可以删除O(n)中的所有元素,而不是O(n logn)。可能通过实现将采用O(1)的remove元素。 我无法在O(n)中找到任何方法来做到这一点。是因为我们不能还是我错过了什么?
答案 0 :(得分:3)
如果您不需要在每次删除后保留AVL结构,请执行post-order traversal,只需删除每个节点而不进行平衡即可,而不是“显示数据部分”