【发布时间】:2022-01-09 08:39:59
【问题描述】:
我正在探索 Python 中的 bisect 模块。该模块的整个目的对我来说很清楚,我现在知道如何使用它。但是Performance notes 在文档中说明了这一点:
二分法对于搜索值范围很有效。对于定位特定值,字典的性能更高。
“搜索值范围”是什么意思? bisect 有 bisect_left() 和 bisect_right(),它们都接受单个值来查找索引。对文档有什么解释吗?谢谢。
【问题讨论】:
-
example in the docs 是说明性的,你想找到一个数字属于哪个bin,返回一个对应的字母等级。相反,如果您只想找到任何离散数量的项目之一,例如与学生 ID 对应的名称,字典会更高效(常数时间 vs log n)
标签: python algorithm sorting bisection