二进制搜索基本算法的总时间复杂度

时间:2014-08-03 20:06:49

标签: algorithm time-complexity

这似乎是关于算法的一个基本问题,但是试图向我自己证实我是正确的(仍在努力掌握自我教学中的基本概念)。

  • 我遇到的问题首先需要运行O(N)算法
  • 然后在N元素数组上执行N二进制搜索
  • 然后运行另一个O(N)算法

我正在尝试找到此问题的总时间复杂度。

它只是O(N),因为这是O(logN)的主导顺序吗?

提前致谢

1 个答案:

答案 0 :(得分:4)

O(N)步骤确实将支配O(log N)步骤。但是你的第二步不需要O(log N)时间。 每次二进制搜索需要O(log N)时间,您执行二次搜索 N次。所以第二步,也就是整个算法,需要O(N log N)时间。