data-structures - 循环中 n/2 的大 O 表示法
问题描述
我是数据结构的新手。
我想问一个问题,我们如何确定这个过程的 Big-O 表示法值:
while(n%2==0){
console.log(2);
n=n/2;
}
什么是大 O 符号?之前谢谢。
解决方案
如果n
奇数则不执行循环。如果n
是偶数,则它需要 log2n
(即,基数为 2 的日志)迭代,直到循环停止。这是log2n
因为n
每次循环迭代减半(i.e.,
n=n/2;
)。
假设这console.log(2);
需要c
时间,整体复杂性将是O(logn)
.
推荐阅读
- java - 用于云 kubernetes 的 Spring Cloud Config Server 与 ConfigMaps
- javascript - 创建工作表时在 Sheetjs 中设置日期格式
- ios - 在 UIScrollView 中单击按钮时将 UITextFields 添加到另一个下方
- mysql - 如何将 mysql 查询“按语句分组”结果转换为 json 结构?
- python - Python / Netmiko:在切换日志中查找故障
- c - Python 2.7 到 3.5:ctypes 发生了什么变化?
- python - 删除表中的 ' 和 ()
- c# - 在 C# 中提升和模拟用户
- php - 用于字母、数字、点、破折号和正斜杠的 PHP 正则表达式
- django - CodePipeline 中用于 Django 数据库连接的 AWS 环境变量