選擇排序之python

來源:互聯網
上載者:User

標籤:bsp   def   ima   代碼   info   技術分享   time   sort   描述   

選擇排序( Selection sort)1.演算法描述:
  • 列表上的2個線性傳遞
  • 在每次通過時,它會選擇最小的值
  • 用最後一個未分類元素交換它

2.演算法屬性:
  • 演算法時間複雜度:O(n**2)
  • 不穩定性:list裡面重複元素可能會因選擇後改變前後順序
  • O(1) 額外的空間
  • O(n2 ) 對比
  • O(n) 互換
  • 不具有適應性:不像冒泡那樣可以加flag來改善

3.代碼實現
#kumata‘s code#演算法複雜度O(n**2)#找到最小的元素就和第一個index交換#從小到大排

import time
def selection_sort(nums=list): start = time.time() #第一層選擇第n小的元素下標 for i in range(len(nums)): # n pos_min = i # Index #第二層遍曆找出需要交換的元素下標 for j in range(i + 1,len(nums)): if nums[pos_min] > nums[j]: pos_min = j #交換嘻嘻 nums[i],nums[pos_min] = nums[pos_min],nums[i] t = time.time() - start return nums,tnums = [1,2,5,8,4,3,6]selection_sort(nums)#輸出結果([1, 2, 3, 4, 5, 6, 8], 0.0)

 

選擇排序之python

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.