The*_*ony -3 java performance for-loop if-statement while-loop
问题是要求比较成本for和while循环,相对于if陈述的成本.
假设if语句的相对成本为1,for和while循环的相对成本是多少?
假设在比较时将单个布尔值传递给while循环和if语句,并while允许迭代X次.假设它for也迭代X次.
在性能方面,if语句通常具有O(1)复杂度,其中as for和while循环通常为O(n),其中n是取决于条件的循环量.例如:
for (int i = 0; i < 100; i++)
{
// Some statements
}
Run Code Online (Sandbox Code Playgroud)
将是O(100),因为它循环了100次.除非在初始循环中有额外的for循环,否则循环中有多少语句无关紧要.然后你得到O(n ^ 2)复杂度,这是二次的,因此非常低效.
但是,不要让这吓到你.循环存在是有原因的,并且在许多程序中它们是必需的.
| 归档时间: |
|
| 查看次数: |
2457 次 |
| 最近记录: |