資料結構與就演算法 選擇排序

2021-10-18 07:35:09 字數 656 閱讀 3404

1>什麼是選擇排序,選擇排序和插入排序的思想差不多,也分已排序區間和未排序區間,只是在排序期間,選擇排序總是從未排序區間找到最小的值,插入到已經排序區間的最後面這就是選擇排序的思想。下面我們用**說下

2>如何分析選擇排序的時間複雜度,是否穩定排序,是否原地排序?

在選擇排序期間,不需要額外的儲存空間老存放資料,所以選擇排序是原地排序,

在選擇排序期間,即使資料是有序的,都會從未排序區間遍歷查詢到最小的元素,若資料是無序的,也都必須從未排序區間找到最小元素,插入到已經排序區間的末尾,所以選擇排序的最好最壞情況下的時間複雜度都是o(n^2)

我們著重來講一下選擇排序是否是穩定排序,比如資料2,3,4,2,1,在第一次排序,首先會找到未排序區間的最小資料1,會與第乙個2進行交換位置,此時原始資料中的2位置前後發生變化,所以選擇排序是不穩定排序.

3>下面我們來空間下氣泡排序,插入排序,選擇排序複雜度的比較

總結:這3種排序演算法使用於小規模資料排序,因為他們所決定的時間複雜度隨著資料量的增大,時間複雜度增大的速率較快,

資料結構與演算法 排序 選擇排序

資料結構與演算法 排序 選擇排序 sort selectsort include includevoid selectsort int list,int len if print list,len for selectsort int minkey int list,int i,int len if...

資料結構與演算法 選擇排序

選擇排序 從小到大 的基本思想是,首先,選出最小的數,放在第乙個位置 然後,選出第二小的數,放在第二個位置 以此類推,直到所有的數從小到大排序。在實現上,我們通常是先確定第i小的數所在的位置,然後,將其與第i個數進行交換。下面,以對 3 2 4 1 進行選擇排序說明排序過程,使用min index ...

資料結構與演算法 選擇排序

1 什麼是程式?程式 資料結構 演算法 2 選擇排序 selection sort 基本思想 我們從第乙個位置開始,依次和後面的值進行比較,如找到比第乙個值小的,二者進行交換。交換後第乙個位置的值已經確定下來,我們再從第二個位置開始,依次和後面的進行比較,依次類推,知道所有的值都比較完成,到此選擇排...