algorithm - 二进制搜索

标签 algorithm search binary-search preconditions

所以,我想了解更多关于二分查找的知识,因为我不是很了解。二分查找的前提是数组已排序。我没看错吧?似乎一个方法应该检查这个前提条件,如果不满足则抛出异常。但是,为什么检查先决条件不是一个好主意?

最佳答案

这是个坏主意,因为检查数据是否排序需要 n 步骤。整个搜索大约有 log(n) 个步骤。
如果要检查,不妨进行线性搜索。

关于algorithm - 二进制搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1583211/

相关文章:

c++ - 如何在 ublas::matrix 中查找所有出现的项目

search - 如何使用具有域hasMany成员的findByAll?

sql-server - 告诉sql server做二分查找?

c# - 对多维数组中的第一个元素进行二进制搜索

c++ - 递归 divide et impera 二进制搜索中的错误

c++ - 使用递归方式求解子集算法给出错误答案

algorithm - 路径重构——伪乘法(矩阵乘法)算法

java - 搜索矩形的排序列表

mysql - SQL 中同一列中多个值的条件

javascript - 避免每次输入字母时更新 Vue.js 搜索