本文摘要
三段代码对比了以线性级别增长的代码(a,b)和以线性对数级别增长的代码(c)的区别;
代码结构
// 输入条件 N
for(; ;)
for(; ;)
sum ++;
两层for( ; ; )
循环,@param sum记录语句执行次数,不同输入条件N,屏幕打印执行次数;
完整源码
// Java Code
public class TestRunningTimes{
public static void RunTimes(int N){
/* 增长数量级为 线性级别 2N-1 */
int suma = 0;
for(int n=N;n>0;n/=2)
for(int i=0;i<n;i++)
suma++;
/* 增长数量级为 线性级别 N-1 */
int sumb = 0;
for(int i=1;i<N;i*=2)
for(int j=