插入排序 包含筆者的分析過程

2021-08-21 20:35:48 字數 538 閱讀 2231

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 插入排序 核心是每次插入乙個數的時候,都把這個數前面的數當做乙個排好序的數列 插入資料的過程是,把這個數跟前面的資料依次的比較,如果比前面的數小,那就把它放到這個數前面,插入過程結束 內層迴圈執行插入的動作,外層迴圈每次給內層迴圈乙個...