首页 > 解决方案 > 循环中 n/2 的大 O 表示法

问题描述

我是数据结构的新手。

我想问一个问题,我们如何确定这个过程的 Big-O 表示法值:

while(n%2==0){
   console.log(2);
   n=n/2;
}

什么是大 O 符号?之前谢谢。

标签: data-structurestime-complexitybig-ocomplexity-theory

解决方案


如果n奇数则不执行循环。如果n是偶数,则它需要 log2n即,基数为 2 的日志)迭代,直到循环停止。这是log2n 因为n每次循环迭代减半(i.e., n=n/2;)。

假设这console.log(2);需要c时间,整体复杂性将是O(logn).


推荐阅读