algorithm - 删除 AVL 树中所有元素的最有效方法是什么(排序删除)
问题描述
我知道删除 AVL 树中的节点需要 O(logn) 的时间复杂度。话虽如此,删除具有 n 个节点的 AVL 树需要 O(n logn)。但是,我想知道我的目标是否是拥有 AVL 树的排序元素,我可以删除 O(n) 而不是 O(n logn) 中的所有元素。可能通过实现一个需要 O(1) 的删除元素。我无法在 O(n) 中找到任何方法。是因为我们不能还是我错过了什么?
解决方案
如果每次删除后不需要保留AVL结构,则执行后序遍历,只删除每个节点而不进行平衡,而不是“显示数据部分”
推荐阅读
- python - 从列表创建数据框
- java - 如何将 zip 多部分提取到列表
然后制作每个文件的多部分? - python - 如何打开/读取扩展名为 .pth 的功能文件
- maven - Maven:找不到 oracle.jdbc.internal.XMLTypeIntf 的类文件
- excel - EXCEL Sumifs 到 PowerBI
- javascript - 在 Next.js 中设置 basePath 时如何在不使用 Link 的情况下获取路径
- mysql - MySQL/MariaDB - 使用 C API 性能下降重复调用准备好的语句
- python - Pool.map() 结果与 for 循环不同
- microsoft-graph-api - 向 Microsoft Teams 发送 QnA Bot 消息时出现问题
- logging - GCP 日志 - 如何过滤掉存储过程或 SQL