Python的标准库中是否有用于平衡二叉树的模块?
问题内容:
问题答案:
不,stdlib中没有平衡的二叉树。但是,从您的评论看来,您可能还有其他选择:
- 您说您想要一个BST而不是一个
O(log n)
搜索列表。如果只需要搜索,并且您的数据已经排序,则该bisect
模块为列表提供二进制搜索算法。 - 迈克·德西蒙(Mike DeSimone)推荐了布景和格言,您还解释了为什么列表在算法上太慢。集和字典被实现为具有O(1)查找的哈希表。解决Python中大多数问题的方法实际上是“使用字典”。
如果两种解决方案都不适合您,则必须转到第三方模块或实施自己的模块。