蠻力法中的一些排序演算法

2021-06-22 23:52:12 字數 846 閱讀 9437

排序演算法除了要考慮時間,空間複雜度以外,還需要考慮到穩定性。

穩定的排序演算法表示在排序前後,相等的兩個值的前後位置保持不變。

選擇排序

首先從第乙個元素開始掃瞄整個序列,並將序列的最小元素和第乙個元素交換,然後從第二個元素開始掃瞄,將n-1個元素中的最小序列與第二個元素交換,執行到n-1個元素後,這個序列就排序好了。

/**

* 公升序

* 遍歷陣列找出最小的與第乙個交換,第二小的與第二個交換...

* @param originalarr

* @return

*/@override

public int asc(int originalarr)

}int tmp = originalarr[min];

originalarr[min] = originalarr[i];

originalarr[i] = tmp;

} return originalarr;

}

氣泡排序

比較相鄰的兩個元素,如果第乙個元素大於第二個元素就交換位置,第一遍最大值將會交換到最後乙個位置,第二次迴圈將n-1個元素中的最大值交換到最後第二個位置,重複操作n-1遍後,這個序列就排序好了。

/**

* 公升序

* 比較相鄰元素,將大元素沉下去

*/@override

public int asc(int originalarray)

}} return originalarray;

}

演算法 一些線性排序演算法

一 計數排序 使用這個演算法有乙個前提,待排序的陣列a,其所有的元素分布在區間 0,k 該演算法的時間複雜度為o n k 當k o n 時,執行時間為o n 所以當k比較小的時候適合採用這個演算法 下面給出這個演算法實現的 include using namespace std void count...

演算法筆記 008 選擇排序和氣泡排序 蠻力法

目錄 1 問題描述 2 解決方案 2.1 選擇排序原理簡介 2.2 具體編碼 選擇排序 2.3 氣泡排序原理簡介 2.4 具體編碼 氣泡排序 給定乙個可排序的n元素序列 例如,數字 字元和字串 將它們按照非降序方式重新排列。選擇排序開始的時候,我們從第乙個元素開始掃瞄整個列表,找到它的最小元素,然後...

演算法筆記 008 選擇排序和氣泡排序 蠻力法

目錄 1 問題描述 2 解決方案 2.1 選擇排序原理簡介 2.2 具體編碼 選擇排序 2.3 氣泡排序原理簡介 2.4 具體編碼 氣泡排序 給定乙個可排序的n元素序列 例如,數字 字元和字串 將它們按照非降序方式重新排列。選擇排序開始的時候,我們從第乙個元素開始掃瞄整個列表,找到它的最小元素,然後...