我知道函数执行ln(N)/ ln(K)次;但平均来说它会进行K操作吗?
问题:
此外,我认为三元搜索更快;因为我做了一个比较计算机程序。
答案 0 :(得分:0)
不,因为正确的答案是(k - 1)log n / log k + O(1):只需要k - 1次比较(实际上只有lg k + O(1))来减少搜索范围的大小为k倍。这可以通过对复发T(1)= 1,T(2)= 2,T(n)=(k - 1)+ T(n / k)的归纳来证明。
(k-1)/ log k的整数argmin出现在2.有很多计算机架构原因,无论如何三元搜索可能更快。