试图围绕一些基本和常见的算法来思考..我目前对这个问题的理解是粗体的。
(1) 假设我们有一个有n个元素的排序数组:二分查找最多比较元素多少次?
我一直看到'0(log(n))'作为此类问题的一般答案弹出,但我不明白为什么。没有一个整数可以回答这个问题(即 2 还是 3?)
(2) 假设我们有一个包含n项的数组:线性搜索最多比较元素多少次?
同样,与上面相同,但现在“ 0(n) ”似乎是这个问题的一般答案。同样,我不太了解这个答案背后的力量,并质疑为什么没有整数答案?
(3) 有人可以解释一个线性搜索比二分搜索更好的例子吗?
从我收集的信息来看,如果可能的话,通常二进制搜索似乎是一个更好的选择,因为它的速度很快。我很难看到线性搜索何时会是更好的选择。