Algorithm 二进制搜索中比较次数的递推关系
我对二进制搜索中比较次数的递推关系表示怀疑 我在这个网站上读到,递归可以写成T(n)=T(n/2)+1 根据我的说法,它应该是T(n)=T(n/2)+2,因为在最坏的情况下,元素可能不存在于数组中,我们最终在每个过程中进行2次比较 请告诉我我是对还是错。我认为你是对的Algorithm 二进制搜索中比较次数的递推关系,algorithm,binary-search,recurrence,Algorithm,Binary Search,Recurrence,我对二进制搜索中比较次数的递推关系表示怀疑 我在这个网站上读到,递归可以写成T(n)=T(n/2)+1 根据我的说法,它应该是T(n)=T(n/2)+2,因为在最坏的情况下,元素可能不存在于数组中,我们最终在每个过程中进行2次比较 请告诉我我是对还是错。我认为你是对的 我想,compare a b意味着我们知道a=b,a>b或是的,我同意在计算时间复杂度时,它并不重要,因为它只是一个常数。但是如果我们想计算比较的数量,那么比较的数量可能会根据递归关系而变化。 if mid == x:
我想,
compare a b
意味着我们知道a=b
,a>b
或是的,我同意在计算时间复杂度时,它并不重要,因为它只是一个常数。但是如果我们想计算比较的数量,那么比较的数量可能会根据递归关系而变化。
if mid == x: found it! # 1st
else if mid < x: search right # 2nd
else: search left