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