'''
記錄交換操作發生的位置,如果沒有發生交換操作,則代表排序已經可以終止
這樣一來氣泡排序最好的情況下,時間複雜度就從o(n^2)優化到了o(n)
'''def
imroved_bubble_sort
(l):
length =
len(l)
swaplast = length -
1for i in
range
(len
(l))
: sign = swaplast
for j in
range
(swaplast)
:if l[j]
> l[j+1]
: temp = l[j+1]
l[j +1]
= l[j]
l[j]
= temp
swaplast = j
if sign == swaplast:
break
python 氣泡排序 優化
li 11,22,44,88,66,55,33 def maopao li n len li 遍歷列表長度減1次,最後乙個不需要比較 for i in range 1,n 建立乙個變數flag,用來記錄本輪冒泡,是否有資料交換位置 flag false 每次遍歷都獲取乙個元素,依次和後面的元素進行比...
Python 如何優化氣泡排序
什麼叫氣泡排序法?相信有接觸過演算法的朋友多少都了解氣泡排序法,那麼什麼是氣泡排序法呢?氣泡排序,英文名稱 bubble sort 是一種基礎的交換排序演算法,在日常工作中經常會用到,例如 頁面資料需按時間先後排序,這本質上也是一種氣泡排序法。喝過可樂的朋友都知道,可樂裡面的氣泡會向上浮,這就是氣泡...
氣泡排序的優化(python)
1 遇到的情況 對於s 5,1,2,3,4 這個列表而言,只執行一次迴圈即可實現排序,如果繼續迴圈,就是1與2 3 4進行排序,很浪費時間,所以沒必要。2 解決辦法 增加標示為flag,如果flag為true則表示還要繼續排序,否則直接輸出。3 coding utf 8 def bubble sor...