时间复杂度
时间复杂性:是指算法中各语句执行时间的总和。
(我不会在这里面打出一个数值的次方还有其他的数学符号,在此我就通俗的表示)
通过一个例子来看吧
示例:
for(int i=1;i<=n;++i){ //①
for(int j=1;j<=n;++j){ //②
x=x+1; //③
}
}
就拿这个简单的双层for循环来看。
时间复杂度并没办法精确的得到,只能了解它的大概趋势。在此,假设每一行代码的执行所需时间都
是相同的,那么在整个程序中,执行了多少行代码,就花费了多少的时间。(可以通俗的这样子理解)
首先我们来计算语句中执行次数的总和是多少:
①行,一共执行了n+1次,其中前n次都是满足条件,执行了循环中的语句块的,第n+1次的时候,依旧执
行了一遍第①行的代码,执行完之后才发现不满足条件,才结束循环的。所以执行了n+1次。
②行,一共执行了n(n+1)次,先前说到,外层循环的n+1次中只有n次满足条件,执行了里面的语句
块,内层循环如外层循环一样,执行次数都是n+1次,但是外层循环一次,内层循环执行一遍,所以内层循
环执行了n(n&#