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