中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

淺談python常用程序算法

發布時間:2020-10-01 11:04:24 來源:腳本之家 閱讀:139 作者:it_man_xiangge 欄目:開發技術

一。冒泡排序:

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

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

規律:

1.冒泡排序的趟數時固定的:n-1

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

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

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

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]

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

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)

優化:每次找到最小值后不立即替換,而是等待本次循環結束再替換,減少了操作的次數,效率提高了

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部分,左邊為排序好的部分,右邊為未排序的部分,循環整個列表,每次將一個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子序列中的適當位置,直到全部記錄插入完成為止。

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常用程序算法詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长汀县| 洛宁县| 乡城县| 阿克陶县| 明溪县| 临泉县| 盘山县| 讷河市| 海淀区| 岑巩县| 开封市| 额济纳旗| 格尔木市| 夏津县| 佳木斯市| 丹寨县| 旌德县| 绥滨县| 炉霍县| 昂仁县| 乌兰浩特市| 崇文区| 寻乌县| 五原县| 高唐县| 安塞县| 孟连| 汉沽区| 青河县| 皮山县| 湘西| 安庆市| 甘谷县| 双柏县| 广南县| 上林县| 洪江市| 太和县| 镇原县| 紫金县| 杭锦后旗|