『壹』 python 冒泡排序以及計算相鄰list的差值是否為一
『貳』 python寫冒泡排序
冒泡排序(Bubble Sort),是一種計算機科學領域的較簡單的排序演算法。
它重復地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序(如從大到小、首字母從Z到A)錯誤就把他們交換過來。走訪元素的工作是重復地進行直到沒有相鄰元素需要交換,也就是說該元素列已經排序完成。
這個演算法的名字由來是因為越小的元素會經由交換慢慢「浮」到數列的頂端(升序或降序排列),就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣,故名「冒泡排序」。
中文名
冒泡排序
外文名
Bubble Sort
所屬學科
計算機科學
時間復雜度
O(n2)
演算法穩定性
穩定排序演算法
快速
導航
演算法分析演算法描述優化演算法比較
演算法原理
冒泡排序演算法的原理如下:[1]
比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。[1]
對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。[1]
針對所有的元素重復以上的步驟,除了最後一個。[1]
持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。
『叄』 Python冒泡排序注意要點實例詳解
Python冒泡排序注意要點實例詳解
文給大家介紹了python冒泡排序知識,涉及到冒泡排序主要的細節問題,本文通過實例代碼給大家講解,介紹的非常詳細,具有參考借鑒價值,感興趣的朋友一起看看吧
冒泡排序注意三點:
1. 第一層循環可不用循環所有元素。
2.兩層循環變數與第一層的循環變數相關聯。
3.第二層循環,最終必須循環集合內所有元素。
示例代碼一:
1.第一層循環,只循環n-1個元素。
2.當第一層循環變數為n-1時,第二層循環所有元素。
s = [3, 4, 1, 6, 2, 9, 7, 0, 8, 5]
# bubble_sort
for i in range(0, len(s) - 1):
for j in range(i + 1, 0, -1):
if s[j] < s[j - 1]:
s[j], s[j - 1] = s[j - 1], s[j]
for m in range(0, len(s)):
print(s[m])
示例代碼二:
1.第一層循環所有元素。
2.第二層也循環所有元素。
s = [3, 4, 1, 6, 2, 9, 7, 0, 8, 5]
for i in range(0, len(s)):
for j in range(i, 0, -1):
if s[j] < s[j - 1]:
s[j], s[j - 1] = s[j - 1], s[j]
for m in range(0, len(s)):
print(s[m])
以上所述是小編給大家介紹的python冒泡排序演算法注意要點,希望對大家有所幫助