Python之氣泡排序

2021-09-28 12:36:57 字數 1223 閱讀 2956

氣泡排序

演算法簡介

氣泡排序是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢「浮」到數列的頂端。

6.2時間複雜度與空間複雜度

最差時間複雜度:o(n^2)

最優時間複雜度:o(n)

平均時間複雜度:o(n^2)

空間複雜度:o(1)

gif動態圖演示

def

bubble_sort

(collection)

:print

("collection:"

,collection)

length =

len(collection)

for i in

range

(length -1)

:false

for j in

range

(length -

1- i)

:print

("j:"

,j)if collection[j]

> collection[j +1]

:true

collection[j]

, collection[j +1]

= collection[j +1]

, collection[j]

ifbreak

# stop iteration if the collection is sorted.

print

("collectionx:"

,collection)

return collection

if __name__ ==

"__main__"

: user_input =

input

("enter numbers separated by a comma:"

).strip(

) unsorted =

[int

(item)

for item in user_input.split(

",")

]print

(*bubble_sort(unsorted)

, sep=

",")

Python之氣泡排序

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

Python之氣泡排序

1 先看氣泡排序的原理 一 氣泡排序簡介 氣泡排序 bubble sort 是一種常見的排序演算法,相對來說比較簡單。氣泡排序重複地走訪需要排序的元素列表,依次比較兩個相鄰的元素,如果順序 如從大到小或從小到大 錯誤就交換它們的位置。重複地進行直到沒有相鄰的元素需要交換,則元素列表排序完成。在氣泡排...

Python之氣泡排序

給出乙個純數字列表.請對列表進行排序。列表為lst 7,9,6,3,8,4,2,5,1,0,435,345,123,567,457,456,678,此時用到乙個知識點 a,b b,a lst 7,9,6,3,8,4,2,5,1,0,435,345,123,567,457,456,678,lst2 f...