亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用python實現冒泡排序算法實例代碼

發布時間:2020-08-26 02:50:12 來源:腳本之家 閱讀:262 作者:pypypypy 欄目:開發技術

冒泡排序

冒泡排序(英語:Bubble Sort)是一種簡單的排序算法。它重復地遍歷要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。遍歷數列的工作是重復地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個算法的名字由來是因為越小的元素會經由交換慢慢“浮”到數列的頂端。

冒泡排序算法的運作如下:

1、比較相鄰的元素。如果第一個比第二個大(升序),就交換他們兩個。

2、對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最后一對。這步做完后,最后的元素會是最大的數。

3、針對所有的元素重復以上的步驟,除了最后一個。

4、持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。

冒泡排序,一個經典的排序算法,因在算法運行中,極值會像水底的氣泡一樣逐漸冒出來,因此而得名。

冒泡排序的過程是比較兩個相鄰元素的大小,然后根據大小交換位置,這樣從列表左端開始冒泡,最后最大值會依次從右端冒出。 

利用python實現冒泡排序算法實例代碼

python實現冒泡排序:

def bubble_sort(nums):

 for i in range(len(nums) - 1):

  for j in range(len(nums) - i - 1):

   if nums[j] > nums[j + 1]:

    nums[j], nums[j + 1] = nums[j + 1], nums[j]

 return nums

python實現冒泡排序的核心思想是通過從列表一端迭代循環元素,再通過一個循環讓這個元素之后的元素相鄰兩個比較,從而依次將最大值移動到最末端,如下圖示意。

利用python實現冒泡排序算法實例代碼

本想放gif圖的,放不上有點問題。

關于冒泡排序的時間復雜度,在上面python實現的代碼中時間復雜度是n的平方,當然可以再考慮一下極端的情況:當隊列已經從小到大排好序或者從大到小排好序,從小到大排好順序時可以只掃描一遍就結束排序,此時時間復雜度為O(n),如果是從大到小,那么就需要掃描n-1次,同時需要比較交換n-1次,時間復雜度為n的平方 。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

梁山县| 云安县| 辉南县| 黔东| 正安县| 班戈县| 剑河县| 武宣县| 杭州市| 黔西| 奉新县| 永年县| 襄樊市| 肥东县| 雷波县| 昔阳县| 万载县| 武定县| 固原市| 许昌市| 措勤县| 鄯善县| 伊春市| 阜宁县| 宁津县| 德州市| 北海市| 丽江市| 东源县| 信阳市| 崇义县| 密山市| 阿克陶县| 乌恰县| 大渡口区| 名山县| 来安县| 乌海市| 韶山市| 久治县| 枞阳县|