标签:解释 length 良好的 时间复杂度 最好 时空 语言 空间复杂度 复杂度
解释一下算法复杂度
private static void bubble(int[] n)
{
for (int i = 0; i < n.length - 1; i++)
{
for (int j = 0; j < n.length - i - 1; j++)
{
if(n[j] > n[j + 1])
{
int temp = n[j];
n[j] = n[j + 1];
n[j + 1] = temp;
}
}
}
}
这段代码的关键代码是交换逻辑。最好的情况是n={1,2,3,4,5,6,7,8,9,10};最坏的情况是n={10,9,8,7,6,5,4,3,2,1}。对于前者来说,关键代码的执行次数是0;对于后者来说,关键代码的执行次数是90,即10(10-1),进一步转换为n(n-1),再转换为n平方-n,平方显然比n的影响要大,所以,舍小取大,这段冒泡排序的时间复杂度就是n平方。
标签:解释 length 良好的 时间复杂度 最好 时空 语言 空间复杂度 复杂度
原文地址:https://www.cnblogs.com/alichengxuyuan/p/12606931.html