最佳答案
我已经完成了谷歌和堆栈溢出的搜索,但是没有任何地方我能够找到一个关于如何计算时间复杂度的清晰而直接的解释。
对于像下面这样简单的代码说:
char h = 'y'; // This will be executed 1 timeint abc = 0; // This will be executed 1 time
对于像下面这样的循环说:
for (int i = 0; i < N; i++) {Console.Write('Hello, World!!');}
int i=0;
这将仅执行一次。时间实际上计算为i=0
,而不是声明。
i < N;
这将被执行n+1次i++
这将被执行N次所以这个循环需要的操作次数是{1+(N+1)+N}=2N+2。(但这仍然可能是错误的,因为我对自己的理解没有信心。)
好的,所以这些小的基本计算我想我知道,但在大多数情况下,我看到时间复杂度为O(N), O(n^2), O(log n), O(n!)和许多其他。