algorithm - 最坏情况的时间复杂度是多少?

标签 algorithm

for(int i = 1 ; i < n ; i* = 2)
for(int j = 1 ; j < i ; j* = 2)

谁能给我解释一下? 我认为是 log(n)*log(i) 。对吗?

最佳答案

假设

for (i = 1; i < n; i *= 2)
   for (j = 1; j < i; j *= 2)
      ...stuff...

“stuff”将运行 1 + 2 + 3 + ... + log(n)-1 次。由于整数 1 到 N 的总和为 N * (N + 1)/2,最坏情况下的运行时间为 O(log(n) ^ 2)。

关于algorithm - 最坏情况的时间复杂度是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12684522/

相关文章:

java - k 均值和 c 均值之间的差异

java - 合并排序中合并的测试用例

Javascript 算法错误

algorithm - 空间聚类算法

c - 理解算法的一部分

algorithm - 点在凹面上的最近点

php - PHP 中的自然语言处理

algorithm - Dijkstra 和 Prim 算法

java - 外部洗牌 : shuffling large amount of data out of memory

algorithm - 动态规划硬币找零问题