python - 为什么 Python 标准库中没有最大堆数据类型?
问题描述
我已阅读主题What do I use for a max-heap implementation in Python?到今天已经被浏览了超过 74k 次(这意味着很多人都遇到了同样的问题),我一直想知道在 Python 标准库中没有实现最大堆数据类型的原因是什么?在我看来,取反或反转这些值并将它们保存在最小堆中看起来很丑陋,并引入了不必要的开销(我们需要注意自己应用转换两次)。
编辑:正如@Boris 所指出的,这个问题已经在增强请求 27295 中提出并在 2016 年被拒绝。这是 Raymond Hettinger 的理由:
抱歉,James,我们不会在没有充分证明需求的情况下开发 API;否则,我们最终会导致 API 蔓延。有实际用例的人没有请求行为(偶尔会通过否定数字参数来获得一次性行为)。这就是为什么有意将 maxheap 函数设为私有的原因。
FWIW,这个模块已经很老了,核心功能早已证明自己足以满足他们的用例(比如在事件循环中使用以有效地选择下一个预定事件)。
解决方案
推荐阅读
- c# - 如何将复杂的 json 解析为 c# .net 类
- reactjs - React Native:如何正确处理嵌套导航?
- vb.net - Datagridview 视觉效果
- python - 如何使用 tkinter 在另一个窗口中添加图像?
- reactjs - 如何使用react + redux在表格中显示大量数据?
- csv - TensorFlow 对象检测 API CSV 文件格式
- sublimetext3 - HTML-CSS-JS Prettify - 按字母顺序排序的 css 属性
- scala - 如何将 sbt 命令的执行时间记录到文件中?
- reactjs - 处理受保护的路由逻辑
- javascript - CSS / HTML如何只显示flexbox的前两行