如果一台计算机速度超快,内存无限,哪种搜索操作是最好的,或者我们可以选择使用哪种搜索操作,该怎么办?(在线性搜索和二进制搜索之间)
发布于 2018-02-10 17:25:26
那得看情况。一般来说,如果你要搜索的东西已经排序--使用二进制搜索,否则使用线性搜索。
发布于 2018-02-10 17:26:33
线性搜索一次扫描一个项目,而不跳转到任何项目。时间复杂度为O(n)。
作为一种二进制搜索,只要你找到排序列表的中间位置,就会将你的搜索量减少一半。时间复杂度为O(log )。
注意:如果二进制搜索没有排序,它将具有与线性搜索相同的性能。
因此,无论你有多少计算能力或空间,对分搜索总是更好。
发布于 2018-02-11 01:08:42
这里有一篇关于Linear vs Binary Search的很棒的文章
https://stackoverflow.com/questions/48719073
复制相似问题