欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談python常用程序算法

 更新時間:2019年03月22日 08:34:15   作者:it_man_xiangge  
這篇文章主要介紹了python常用程序算法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一。冒泡排序:

1.冒泡排序是將無序的數(shù)字排列成從小到大的有序組合:

過程:對相鄰的兩個元素進行比較,對不符合要求的數(shù)據(jù)進行交換,最后達到數(shù)據(jù)有序的過程。

規(guī)律:

1.冒泡排序的趟數(shù)時固定的:n-1

2.冒泡排序比較的次數(shù)時固定的:n*(n-1)/2

3.冒泡排序交換的次數(shù)時不固定的:但是最大值為:n*(n-1)/2

注意:n = 數(shù)據(jù)個數(shù),排序過程中需要臨時變量存儲要交換的數(shù)據(jù)

eg:

l=[688, 888, 711,999,1,4,6]
for i in range(len(l)-1):
  for j in range(len(l)-1):
    if l[j]>l[j+1]:
      tmp=l[j]
      l[j]=l[j+1]
      l[j+1]=tmp
print(l)

二。選擇排序:

list=[10,3,5,2,9]

過程,循環(huán)當前列表,將當前循環(huán)到的值與余下的每個數(shù)字相比較,如果比當前值小,就與當前值交換位置。

eg:

l=[688, 888, 711,999,1,4,6]
for i in range(len(l)-1):
  for j in range(i+1,len(l)):
    if l[j]<l[i]:
      tmp=l[i]
      l[i]=l[j]
      l[j]=tmp
print(l)

優(yōu)化:每次找到最小值后不立即替換,而是等待本次循環(huán)結(jié)束再替換,減少了操作的次數(shù),效率提高了

l=[688, 888, 711,999,1,4,6]
for i in range(len(l)-1):
  Min=i
  for j in range(i+1,len(l)):
    if l[Min] > l[j]:
      Min=j
  tmp=l[Min]
  l[Min]=l[i]
  l[i]=tmp
print(l)

三。插入排序:

插入排序(Insertion Sort)的基本思想是:將列表分為2部分,左邊為排序好的部分,右邊為未排序的部分,循環(huán)整個列表,每次將一個待排序的記錄,按其關(guān)鍵字大小插入到前面已經(jīng)排好序的子序列中的適當位置,直到全部記錄插入完成為止。

eg:

array=[9,8,7,6,5,4,3,2,1]

for i in range(1,len(array)):
  current_val=array[i]
  current_position=i
  while current_position >0 and array[current_position-1] > current_val:
    array[current_position]=array[current_position-1]
    current_position-=1
  array[current_position]=current_val
print(array)

以上所述是小編給大家介紹的python常用程序算法詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 公認8個效率最高的爬蟲框架

    公認8個效率最高的爬蟲框架

    在本篇文章里小編給大家整理的是關(guān)于2020年8個效率最高的爬蟲框架知識點,需要的朋友們可以學(xué)習(xí)下。
    2020-07-07
  • python判斷字符串是否是json格式方法分享

    python判斷字符串是否是json格式方法分享

    這篇文章主要介紹了python判斷字符串是否是json格式方法分享,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • OpenCV-Python實現(xiàn)凸包的獲取

    OpenCV-Python實現(xiàn)凸包的獲取

    凸包是一個計算幾何中的概念,在圖像處理過程中,我們常常需要尋找圖像中包圍某個物體的凸包,本文就使用OpenCV實現(xiàn),感興趣的可以了解一下
    2021-06-06
  • python 利用turtle模塊畫出沒有角的方格

    python 利用turtle模塊畫出沒有角的方格

    今天小編就為大家分享一篇python 利用turtle模塊畫出沒有角的方格,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Python中關(guān)于logging模塊的學(xué)習(xí)筆記

    Python中關(guān)于logging模塊的學(xué)習(xí)筆記

    在本篇文章里小編給大家整理的是一篇關(guān)于Python中l(wèi)ogging模塊相關(guān)知識點內(nèi)容,有興趣的朋友們可以參考下。
    2020-06-06
  • python opencv進行圖像拼接

    python opencv進行圖像拼接

    這篇文章主要為大家詳細介紹了python opencv進行圖像拼接,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • Scala中使用Jsoup庫處理HTML文檔的案例分析

    Scala中使用Jsoup庫處理HTML文檔的案例分析

    Scala是一種多范式的編程語言,具有函數(shù)式編程和面向?qū)ο缶幊痰奶攸c,同時也能夠與Java語言完美兼容,它擁有強大的類型推斷、高階函數(shù)、模式匹配等特性,使得代碼更加簡潔、靈活和易于維護,這篇文章主要介紹了Scala中使用Jsoup庫處理HTML文檔的案例分析,需要的朋友可以參考下
    2024-04-04
  • 使用Python編寫一個最基礎(chǔ)的代碼解釋器的要點解析

    使用Python編寫一個最基礎(chǔ)的代碼解釋器的要點解析

    Python、Ruby等語言代碼就是在解釋器程序中一行行被解釋為機器碼同步執(zhí)行的,而如果使用Python編寫解釋器的話則可以把目標代碼解釋為Python代碼再進行解釋執(zhí)行,這里我們就來看一下使用Python編寫一個最基礎(chǔ)的代碼解釋器的要點解析:
    2016-07-07
  • Python Traceback異常代碼排錯利器使用指南

    Python Traceback異常代碼排錯利器使用指南

    這篇文章主要為大家介紹了Python Traceback異常代碼排錯利器使用指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • python 隊列詳解及實例代碼

    python 隊列詳解及實例代碼

    這篇文章主要介紹了python 隊列詳解的相關(guān)資料,并附簡單實例代碼,幫助大家學(xué)習(xí)了解數(shù)據(jù)結(jié)構(gòu)的隊列,需要的朋友可以參考下
    2016-10-10

最新評論