演算法初級 選擇排序

2021-10-20 03:52:34 字數 414 閱讀 3018

選擇排序雖然改進了氣泡排序,把交換次數從o(n2)減少到o(n),但是比較次數仍為o(n2)。

選擇排序的大致邏輯是把所有元素比較一遍,將最小的元素與0號元素交換位置。然後從1號元素開始繼續比較,將最小元素與1號元素交換位置。以此類推,這個演算法中有序的元素在左邊,與氣泡排序相反。

private

long

a;private

int nelems;

public

void

selectionsort()

}}}

第一輪迴圈,首先將0號元素的引用賦給min,然後從1號元素開始,依次與0號元素進行比較,將值小的元素引用賦給min,並交換min與0號元素的位置;

第二輪迴圈,從1號元素以此類推;

初級排序 選擇排序

選擇排序分為兩部分 已排好序的,未排好序的 每次從未排好裡找出乙個最小的值,將這個值與未排好序的第乙個進行交換位置,意味著每次進行一次迴圈找出乙個最小值就相當於將乙個剩下未排序裡最小的給排進去。include using namespace std const int maxn 101 int ma...

研磨演算法 排序之初級排序(選擇 插入 冒泡)

標籤 空格分隔 研磨演算法 插入排序 氣泡排序 排序演算法是在基礎面試中經考到的演算法,也常常是我們解決問題的第一步。雖然在實際專案開發中很小幾率會需要我們手動實現,但是這些思想是我們需要學習的。本文將會剖析三種最出擊的排序演算法 選擇 插入 冒泡 選擇排序是最簡單直觀的一種演算法,之所以叫做選擇排...

Java初級排序演算法 選擇排序 插入排序 希爾排序

package sort import edu.princeton.cs.algs4.in public class example private static boolean less comparable v,comparable w private static void exch comp...