亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python實現插入排序和選擇排序的方法

系統 2016 0

話不多說,讓我們從最基本的排序算法開始吧

插入排序

如下圖所示,插入排序的實現思路顧名思義,就是 不斷地在一個已經是有序的數組中,尋找合適位置并插入新元素 。

Python實現插入排序和選擇排序的方法_第1張圖片

具體實現步驟為:

首先我們把整個數組拆分為有序區間和未排序區間,有序區間在插入排序一開始只有一個元素,就是數組的第一個元素。

接在有序區間之后的一個元素就是準備插入的元素,在圖中就是標為綠色的元素,在有序區間內尋找位置并插入。

其尋找邏輯為:從后往前依次進行比較,如果待插入元素大于當前元素,則將待插入元素插入到當前元素的后一位,如果待插入元素小于當前元素,則將當前元素后移一位。不斷重復該過程直至到數組的最后一位

其實現的具體代碼為:

            
def insertion_sort(a):
 length = len(a)
 if length <=1:
  return 
 for i in range(1,length):
  j = i-1
  value = a[i]
  while j >=0:
   if a[j]
            
            
          

??? return a時間復雜計算為:我們需要將整個數組遍歷一遍,所以這一部分為O(n),在每一次遍歷中都要執行一次插入操作,其時間復雜度為O(n),所以總時間復雜度為O(n2)

選擇排序

選擇排序跟插入排序算法類似,都是將數組分為有序區間和未排序區間,區別在于插入排序是將一個新元素插入到有序區間內,而選擇排序則是在未排序區間中找到最小元素,并交換到有序區間之后。

Python實現插入排序和選擇排序的方法_第2張圖片

實現代碼為:

            
def selection_sort(a):
 length = len(a)
 if length <=1:
  return
 for i in range(0,length-1):
  min_value = a[i]
  min_index = i
  j = i+1
  while j
            
              < min_value:
    min_value = a[j]
    min_index = j
   j += 1
  a[i],a[min_index] = a[min_index],a[i]
            
          

??? return a時間復雜度計算:數組長度為n,一共需要尋找n次最小值,每次尋找最小值都要遍歷未排序區間一次,其時間復雜度為O(n),乘以n次為O(n2)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 手机看片高清国产日韩片 | 国产做人爱三级视频在线 | 真人一级毛片免费观看视频 | 免费观看欧美精品成人毛片能看的 | 亚洲精品久久久中文字 | 天天操夜夜操狠狠操 | 天天草夜夜爽 | 久久久91精品国产一区二区 | 国产精品免费一区二区三区四区 | 亚洲波多野结衣日韩在线 | 999精品久久久中文字幕蜜桃 | 亚洲一区二区三区精品视频 | 香蕉视频一区二区三区 | 亚洲伦理一二三四 | 一级毛片全部免费播放 | 国产欧美一区二区精品仙草咪 | 天天在线天天综合网色 | 欧美13一16sex 性 | 日本在线观看不卡免费视频 | 午夜精品久久久久久久99 | 国产精品成人一区二区 | 久久线看观看精品香蕉国产 | 激情小视频在线播放免费 | 搡女人视频免费 | 日日摸日日添夜夜爽97 | 国产视频观看 | 国产婷婷综合在线视频中 | 草久视频在线 | 天天做人人爱夜夜爽2020 | 97se亚洲国产综合自在线 | 天天久久综合 | 亚洲精品免费视频 | 成人在线综合 | 91高清免费国产自产拍2021 | 天天干天天操天天碰 | 美女视频黄的免费视频网页 | 男女很黄很色床视频网站免 | 狠狠综合久久久久综 | 亚洲精品资源在线 | 亚洲人xxx日本人18 | 红色一级毛片 |