1 :选择与插入的时间复杂度最好的情况是o(n),最坏的时间复杂度o(n^2);
2 冒泡的时间复杂度最好是o(n),最坏是o(n^2)冒泡排序当一切排序的序列处在正旭排列的状态下,
public void bubbleSort(int arr[]) { boolean didSwap; for(int i = 0, len = arr.length; i < len - 1; i++) { didSwap = false; for(int j = 0; j < len - i - 1; j++) { if(arr[j + 1] < arr[j]) { swap(arr, j, j + 1); didSwap = true; } } if(didSwap == false) return; } }
} 通过变量对程序进行了改进,这种情况只适用与正序排的序列。从序列的第一个位置开始,每一个数和后面的数进行交换。共比较n-1次,最好情况的时间复杂度是o(n)
4 快棑的时间复杂度最好的情况是o(nlog2n),最坏的情况是o(n^2)
5 二叉数的前序中序及后序遍历,前:根--左--右
中:左--根--右
后:左--右--根