是否有用于 AVL tree 的模块?或 red–black tree还是 Python 标准库中的其他类型的平衡二叉树?
最佳答案
不,stdlib 中没有平衡二叉树。但是,从您的评论看来,您可能还有其他选择:
- 你说你想要一个 BST 而不是
O(log n)
搜索的列表。如果您只需要搜索并且您的数据已经排序,则bisect
模块为列表提供二进制搜索算法。 - Mike DeSimone 推荐了集合和字典,您解释了为什么列表在算法上太慢了。集合和字典实现为哈希表,具有 O(1) 查找。 Python 中大多数问题的解决方案确实是“使用字典”。
如果这两种解决方案都不适合您,您将不得不使用第三方模块或实现您自己的模块。
关于python - Python的标准库中是否有平衡二叉树的模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2298165/