package basic_class_01;
/** * 插入排序:
* 始終定義第乙個元素為有序的,將元素逐個插入到有序排列之中,其特點就是
* 要不斷地移動資料,空出乙個適當的位置,把待插入的元素放到前面有序的陣列中去
* * 最差時間分析:o(n^2)
* 平均時間複雜度 :o(n^2)
* 穩定度:穩定
* 空間複雜度 :o(1)
* **@author lenovo
* */
public
class
code_01_insertionsort
}public
static
void
insertionsort_1(int arr)
// 第乙個元素預設是有序的(最開始的左邊的那個有序子陣列)
// 所以是從1開始
for(int i = 1; i < arr.length; i++) }}
}
歸併排序 包含筆者的分析過程
package basic class 01 規並排序 author lenovo public class code 05 mergesort mergesort arr,0,arr.length 1 這個排序的方法也是使用遞迴 因為可以將乙個陣列 分成左部分排序 跟 右部分排序 排序都是屬於同類...
插入排序分析
無聊突發想法,插入排序在平均意義上的效率如何,簡單分析了下,這裡做個記錄。插入排序比較簡單,分析起來也相對容易,這裡主要對平均意義上的交換次數做一下計算,先簡單畫一畫插入排序過程。加入初始序列是 首先從4開始,插入4之前的以排序的序列中,由於4大於2,不用做交換 再跳到第三個元素1,將1插入之前的已...
插入排序執行過程
encoding utf 8 a 1,9,0,8,3,7,5,6 插入排序 核心是每次插入乙個數的時候,都把這個數前面的數當做乙個排好序的數列 插入資料的過程是,把這個數跟前面的資料依次的比較,如果比前面的數小,那就把它放到這個數前面,插入過程結束 內層迴圈執行插入的動作,外層迴圈每次給內層迴圈乙個...