python學習系列之氣泡排序

2021-08-07 03:34:52 字數 619 閱讀 2655

「」」

created on sat aug 19 10:54:25 2017

bubblesort

@author: fanrupin

「」「def bubblesort(arr):

if arr==0 or len(arr)==1:

return 0

for i in range (len(arr)):

for j in range (len(arr)-i-1):#每次比較後,把最大放後面。如:第一次比較n-1次,第二次比較n-2次…

if arr[j]>arr[j+1]:#比較相鄰元素,大的放後面

arr[j],arr[j+1]=arr[j+1],arr[j]

print (arr)

return arr

ifname==」main「:

arr=[6,5,4,3,2,1,3]

print(『氣泡排序』)

bubblesort=bubblesort(arr)

print(bubblesort)

總結:氣泡排序時間複雜度為o(n^2),很慢,工程上很少應用。

排序系列 比較排序系列之 氣泡排序

氣泡排序屬於交換排序的一種典型的交換排序。交換排序的基本思想是 兩兩比較待排序的關鍵碼,發現記錄逆置則進行交換,知道沒有逆置對位置。對於氣泡排序而言,則就是單純的兩兩進行比較,知道不能再繼續冒泡為止。我們通過 45,34,78,12,34 32,29,64 陣列為例,進行講解。i值過程 i 0j 7...

排序演算法系列之氣泡排序

核心思想 氣泡排序是一種典型的 交換排序 通過比較相鄰元素大小來決定是否交換位置 如上圖所示,以一組資料 為例,進行氣泡排序的演算法演示 氣泡排序 c void swap int a,int b void bubblesort vector vi 演算法改進說明 1,對於是否已經是有序排列進行判斷 ...

Python之氣泡排序

氣泡排序 bubble sort 是一種簡單的 非常低效的排序演算法。氣泡排序依次地走訪要排序的數列,一次比較兩個元素,如果他們的順序錯誤 如從大到小 首字母從a到z 就把他們交換位置,直到沒有相鄰元素需要交換,即該數列已經排序完成。這個演算法名字的由來是因為越大的元素會經由交換慢慢 浮 到數列的頂...