线性和二进制搜索
Posted
技术标签:
【中文标题】线性和二进制搜索【英文标题】:Linear & Binary search 【发布时间】:2018-02-10 09:07:16 【问题描述】:如果计算机速度超快且内存无限,那么最好使用哪种搜索操作,或者我们可以使用任何我们选择的方法怎么办? (在线性搜索和二分搜索之间)
【问题讨论】:
【参考方案1】:线性搜索一次扫描一个项目,而不跳转到任何项目。时间复杂度为 O(n)。
作为二分搜索,一旦您找到排序列表的中间位置,您的搜索就会减少一半。时间复杂度为 O(log n)。
注意:如果没有排序,二分搜索将与线性搜索具有相同的性能。
所以无论你有多少计算能力或空间,二分搜索总是更好。
【讨论】:
【参考方案2】:这取决于。一般来说,如果您正在搜索的内容已经排序 - 使用二进制搜索,否则使用线性搜索。
【讨论】:
【参考方案3】:这是Linear vs Binary Search 的一篇很棒的文章
【讨论】:
以上是关于线性和二进制搜索的主要内容,如果未能解决你的问题,请参考以下文章