线性和二分搜索

Linear & Binary search

如果一台计算机速度超快且内存无限,那么最好使用哪种搜索操作,或者我们可以使用我们的任何选择吗? (介于线性搜索和二分搜索之间)

视情况而定。一般来说,如果您要搜索的内容已经排序 - 使用二进制搜索,否则使用线性搜索。

线性搜索一次扫描一个项目,不跳转到任何项目。时间复杂度为 O(n).

作为二进制搜索,一旦找到排序列表的中间部分,就将搜索减少一半。时间复杂度为 O(log n).

注意:如果不排序,二分搜索将具有与线性搜索相同的性能。

所以无论你有多少计算能力或space,二进制搜索总是更好。

这是 Linear vs Binary Search

的一篇很棒的文章