运行 时间计算示例
Running time calculation example
我正在通过 Big Oh 的示例计算 运行 mark Weiss 使用 C 的数据结构和算法分析的时间计算。
例子是:
int sum(int N)
/*1*/ int sum=0;
/*2*/ for (int i=1;i<=N;i++)
/*3*/ sum=sum+i*i*i;
/*4*/ return sum;
我了解每行的成本,但我对第 2 行感到困惑,第 2 行中有三件事,初始化、测试和增量。所以初始化的总成本是1
,测试的总成本是(n+1)
,所有增量的n。我想知道如何测试成本是 n+1
因为从条件来看,循环将 运行 n
时间那么成本将是 n+1
?
假设 n=5。条件将 运行 6 次,第 6 次条件不成立,因此进行 n+1 次测试。
我正在通过 Big Oh 的示例计算 运行 mark Weiss 使用 C 的数据结构和算法分析的时间计算。
例子是:
int sum(int N)
/*1*/ int sum=0;
/*2*/ for (int i=1;i<=N;i++)
/*3*/ sum=sum+i*i*i;
/*4*/ return sum;
我了解每行的成本,但我对第 2 行感到困惑,第 2 行中有三件事,初始化、测试和增量。所以初始化的总成本是1
,测试的总成本是(n+1)
,所有增量的n。我想知道如何测试成本是 n+1
因为从条件来看,循环将 运行 n
时间那么成本将是 n+1
?
假设 n=5。条件将 运行 6 次,第 6 次条件不成立,因此进行 n+1 次测试。