二进制搜索的最坏情况/最佳案例密钥?

时间:2014-11-18 11:37:20

标签: java time complexity-theory binary-search

有人可以帮我解决这个问题吗?我该如何以数学方式证明密钥?

构造一个满足二进制前提条件的任意非平凡数组 搜索。使用

构建密钥kakb
a) worst case lookup time
b) best case lookup time

如果在a。

上使用二进制搜索

查找kakb需要多少递归步骤?

1 个答案:

答案 0 :(得分:0)

BS的最坏情况是“log N”,因为这可能是最大分裂。最好的情况1(立即匹配)。

介意 - 我不想做你的作业,而是示意性地:

  • 关于最坏情况的证明:尽可能分开。
  • 从n = N开始。分为[0,N / 2],计数N / 2,[N / 2 + 1,N],计数N - N / 2 - 1,可能少1:N /当N均匀时,2 - 1。
  • 因此,对于最坏的情况,假设第一个,最长的一半。
  • 连续一半的N,得到N / 2/2/2 ...直到我们达到1;这是loglogN。