如何在 Python 中高效地执行真/假二分查找?
Nov 26, 2024 am 01:40 AMPython 中的二分查找:改进的方法
在 Python 中,二分查找是通过 bisect 模块轻松执行的。但是,如果需要精确指示列表中某个项目的存在,则 bisect_left 和 bisect_right 函数可能不够。
为了满足这一需求,Python 库不提供专门为二分搜索量身定制的专用函数明确的 True/False 输出。因此,需要一个自定义解决方案。
以下代码片段定义了 binary_search 函数,该函数对排序列表 a 执行二分搜索,并在找到时返回目标项 x 的索引。如果 x 不存在,则返回 -1:
1 2 3 4 5 6 |
|
此函数利用 bisect_left 来确定 x 的插入点。如果 x 存在于列表中,它将位于该插入点处。为了确认这一点,将插入点处的值与 x 进行比较。如果它们匹配,则找到 x,并返回其索引。否则,x 不存在,并返回 -1 来指示这一点。
此自定义函数提供了一种简洁高效的解决方案,用于执行二分搜索,并清楚地指示列表中项目是否存在,满足原始问题中确定的需求。
以上是如何在 Python 中高效地执行真/假二分查找?的详细内容。更多信息请关注PHP中文网其他相关文章!

热门文章

热门文章

热门文章标签

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)