【发布时间】:2016-02-16 06:26:27
【问题描述】:
我需要对数字列表使用二进制搜索并让它返回数字的索引。当列表未排序时,我该怎么做?我需要返回未排序列表的索引,而不是排序列表。
【问题讨论】:
-
为什么你认为二分搜索可以在未排序的列表上工作?您可以使用线性搜索。二进制搜索就出来了。
-
您不能对未排序的列表使用二进制搜索。您最好的选择是可能遍历列表的项目,直到找到您要查找的元素,即 O(n) 操作。
-
为什么不用python的内置函数list.index()?根据stackoverflow.com/questions/32278255/…,比二分查找要快。
标签: python binary-search