java - 两个 for 循环之间的长度差异如何影响性能?
问题描述
两个 for 循环之间的长度差异如何影响性能?我知道使用 for 循环时的性能是 O(n)。但是随着 for 循环长度的变化,性能如何变化呢?它的复杂性增加了吗?
示例一:
for(int i=1;i<10;i++){
do something...
}
示例 b:
for(int i=1;i<5;i++){
do something...
}
解决方案
这不是 for 循环,而是变量增加或减少的速度将决定循环的复杂性。
for(int i=0;i<n;i*=2){
do something;
}
这是 O(logn)
for(int i=0;i<n;i++){
do something;
if(some condition)
i = 0;
}
即使是一个循环,这也可能是 O(n^2) [甚至无限循环]。
现在,如果循环的长度是另一个动态变量的函数,那么性能会受到影响。如果长度变化是恒定的,那么就不会改变。
推荐阅读
- javascript - React 和 Redux:每个动作的 Redux 状态
- javascript - 编写一个接受字符串数组的方法奇怪的单词
- mysql - 在 MYSQL 中搜索字符串列的数组
- vba - 单击网站上的按钮
- python - 无法使用 curl 在 macOS 上安装 pip
- php - laravel livewire 图像形式
- kdb - KDB:如何在 kdb 中解析毫秒时间戳
- python - 在特定时间打开 Web 窗口的 Python 脚本
- entity-framework - 没有连接实体的实体框架多对多导航
- windows - Windows 机器上的 CVE-2020-27216 漏洞