python - Python的标准库中是否有平衡二叉树的模块?

标签 python tree standard-library

是否有用于 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/

相关文章:

c++ - 遗留标准 C 库头文件和重载的 C++ 函数

python - 字典内存消耗 : set a value None vs. 删除项

python - Sklearn 管道 : Get feature names after OneHotEncode In ColumnTransformer

python - Tensorflow/Keras : Input 0 of layer lstm is incompatible with the layer: expected ndim=3, 发现 ndim=2

algorithm - 有多个 child 的树 - 线性时间访问复杂度

c - 我在哪里可以找到系统上标准库的头文件?

python - 查找二维列表中最长子列表的索引

algorithm - 在有向 TreeMap 中查找 "Best Roots"?

Java - 从 csv 文件创建嵌套 TreeView

.net - 在 NuGet 引用上强制使用 NETStandard.Library 1.6.0,没有生成警告