排序算法之選擇排序

介紹

選擇排序是一種簡(jiǎn)單直觀的排序算法。

演示

Select-Sort

復(fù)雜度

最壞時(shí)間復(fù)雜度:O(n^2)
最優(yōu)時(shí)間復(fù)雜度:O(n^2)
平均時(shí)間復(fù)雜度:O(n^2)
最壞空間復(fù)雜度:O(n),需要輔助空間O(1)

步驟

它的工作原理如下。

  1. 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置
  2. 然后,再?gòu)氖S辔磁判蛟刂欣^續(xù)尋找最?。ù螅┰?,然后放到已排序序列的末尾。
  3. 以此類推,直到所有元素均排序完畢。

python

def select_sort(li):
    for i in range(len(li)):
        min = i
        for j in range(i + 1, len(li)):
            if li[j] < li[min]:
                min = j
        if min != i:
            li[min], li[i] = li[i], li[min]
    return li
print(select_sort(li))
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 選擇排序也是一種簡(jiǎn)單直觀的排序算法。它的工作原理很容易理解:首先在未排序序列中找到最?。ù螅┰?,存放到排序序列的...
    BEYOND黃閱讀 278評(píng)論 0 0
  • 該系列文章主要是記錄下自己暑假這段時(shí)間的學(xué)習(xí)筆記,暑期也在實(shí)習(xí),抽空學(xué)了很多,每個(gè)方面的知識(shí)我都會(huì)另起一篇博客去記...
    Yanci516閱讀 12,664評(píng)論 6 19
  • 本文分析冒泡、選擇、插入、希爾、快速、歸并和堆排序,為不影響閱讀體驗(yàn),將關(guān)于時(shí)間、空間復(fù)雜度和穩(wěn)定性的概念放在博文...
    DeppWang閱讀 510評(píng)論 0 2
  • 穩(wěn)定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面;不穩(wěn)定:如果a原本在b的前面,而a=b,排序之后a可...
    意識(shí)流丶閱讀 3,311評(píng)論 2 9
  • 去年9月可是減肥,好容易過(guò)年瘦了七八斤,過(guò)個(gè)年,好家伙,直接漲了十斤。 得知真相之后的我,居然抱有反正遲早都會(huì)瘦下...
    suuny邢閱讀 275評(píng)論 0 0

友情鏈接更多精彩內(nèi)容