我正在研究二进制搜索算法的最坏情况,并且很难理解。
他们证明:
W(n)=(lg(n)+ 1)的最低值。 (我会说使用'⌊⌋')
当n
为2的幂时,我会写出所有证据。
当n
不是2的幂时,我有证明。
- 感应基地
- 当n = 1时,⌊lg(n)⌋+ 1 =⌊lg1⌋+ 1 = 0 + 1 = 1 = W(1)
- 归纳假设
- 对于某些n> = 1且1 <1。 k&lt; n,假设W(k)=⌊lg(k)⌋+ 1
- 感应步骤
- 如果⌊n/2⌋= n / 2
W(n)= 1 + W(⌊n/2⌋)
= 1 +⌊lg⌊n/2⌋⌋+ 1
= 2 +⌊lg⌊n/2⌋⌋
= 2 +⌊lg(n / 2)⌋
= 2 +⌊lg(n) - 1⌋
= 2 +⌊lg(n)⌋-1
= 1 +⌊lg(n)⌋
- 感应步骤(续&#39; d)
- 如果⌊n/2⌋=(n-1)/ 2
W(n)= 1 + W(⌊n/2⌋)
= 1 +⌊lg⌊n/2⌋⌋+ 1
= 2 +⌊lg{(n-1)/ 2}⌋
= 2 +⌊lg(n-1) - 1⌋
= 2 +⌊lg(n-1)⌋ - 1
= 1 +⌊lg(n-1)⌋
= 1 +⌊lg(n)⌋
这是我的问题:为什么最后两步是一样的?
我无法理解,在我的书中,没有任何解释。
请帮帮我。