algorithm - 算法复杂度,3 个循环
问题描述
非常简单的问题,但我有点不确定,刚刚进入 Big O。如果这只是 3 个循环,它只是 N^3,但是有恒定的循环和 n-1 的循环,这让人困惑一点点。在这种情况下,复杂性如何变化?
算法:
for i=1 to 10
do for j=1 to n-1
do for k=1 to 8
解决方案
恒定循环确实改变了复杂性。考虑这一点的方法是根据内部循环中执行的操作总数。在您的示例中,它是10 * (n - 1) * 8
操作。简化后得到80 * n - 80
,在大 O 表示法中显然只是 O(n)。
推荐阅读
- android - Android Google Services 4.2.0 下载失败
- css - 有没有办法在 explorer 8 环境中以 woff 文件格式应用 css 网络字体?
- javascript - 一个带有多个切换的 @click 事件
- html - 用另一个相同大小的 div 完全覆盖一个 div
- android - 如何监控我在 ARCore 和 Sceneform 中的当前位置?
- typo3 - TYPO3 9.5.x / TypoScript / Fluid:获取未渲染文件类型的变量
- c# - 如何从另一个类显示到控制台列表?
- php - 从xml获取值标签
- windows - 如何以编程方式卸载 UWP 应用
- python - 从 Python 脚本将变量复制到 Jupyter 内核