5 選擇排序

2021-10-01 13:20:41 字數 457 閱讀 2673

(1)思路:

對待排序的序列,選出關鍵字最小的資料,將它和第乙個位置的資料交換,接著,選出關鍵字次小的資料,將它與第二個位置上的資料交換。以此類推,直到完成整個過程。所以如果有n個資料,那個需要遍歷n-1遍。

(2)複雜度分析:

(2.1)時間複雜度:

總的比較次數為(n-1)+(n-2)+…+1=1/2*n*(n-1):o(

平均情況: o(。

(2.2)空間複雜度:

o(1)。

(3)穩定性:

舉個例子,序列5 8 5 2 9,我們知道第一遍選擇第1個元素5會和2交換,那麼原序列中2個5的相對前後順序就被破壞了,所以選擇排序不是乙個穩定的排序演算法。

**片段:

void select_sort(int a,int n)

if(min!=i) //交換}}

(5)直接選擇排序

2015,煙台大學計算機與控制工程學院 檔名稱 haxibiao.cpp 完成日期 2015年12月14日 問題描述 用序列作為測試資料,1 直接插入排序 2 希爾排序 3 氣泡排序 4 快速排序 5 直接選擇排序 6 堆排序 7 歸併排序 8 基數排序。include define maxsize...

演算法 5 選擇排序

1.選擇排序 由小到大排序的過程 第一趟相當於找到最小值並放在首位 第二趟相當於找到次小值,並放在第2的位置上 以此類推 b.與氣泡排序的區別 在找最小數的同時氣泡排序會交換資料,而選技排序不會交換只是查詢最小數,找到了才交換 下面是冒泡的理解 第1個數與剩下的n 1個數比較,若有比第1個數小的就交...

排序 5 簡單選擇排序

今天我們來說一下簡單選擇排序,這也是相對簡單的一種排序,它也是一種不穩定的排序 時間複雜度 最好情況 o n2 最壞情況 o n2 平均情況 o n2 空間複雜度 o 1 簡單選擇排序的思想 對於一組記錄,先找出最小的記錄,將它與第乙個記錄進行交換,之後從第二個 記錄開始,找出最小的記錄,與它進行交...