摘要:冒泡算法算法思想每次比較兩個相鄰的元素如果他們的順序錯誤就把他們交換位置比如有五個數從大到小排序對相鄰的兩位進行比較第一趟第一次比較第二次比較第三次比較第四次比較經過第一趟比較后五個數中最小的數已經在最后面了接下來只比較前四個數依次類推第
冒泡算法:
- 算法思想: 每次比較兩個相鄰的元素, 如果他們的順序錯誤就把他們交換位置
比如有五個數: 12, 35, 99, 18, 76, 從大到小排序, 對相鄰的兩位進行比較
第一趟:
第一次比較: 35, 12, 99, 18, 76
第二次比較: 35, 99, 12, 18, 76
第三次比較: 35, 99, 18, 12, 76
第四次比較: 35, 99, 18, 76, 12
經過第一趟比較后, 五個數中最小的數已經在最后面了, 接下來只比較前四個數, 依次類推
第二趟
99, 35, 76, 18, 12
第三趟
99, 76, 35, 18, 12
第四趟
99, 76, 35, 18, 12
比較完成
冒泡排序原理: 每一趟只能將一個數歸位, 如果有n個數進行排序,只需將n-1個數歸位, 也就是說要進行n-1趟操作(已經歸位的數不用再比較)
代碼如下:
def bubble(numbers): for i in range(len(numbers)-1): for j in range(len(numbers)-i-1): if numbers[j] > numbers[j+1]: numbers[j], numbers[j+1] = numbers[j+1], numbers[j] return numbers l = [2, 3, 44, 6, 2, 21, 3, 5, 7, 9] print(bubble(l))
回頭看看基礎,數據結構和算法還是很重要的,,,,,,,,,,,,,,,,,,,,,摸摸自己的頭頂,,,一陣嘆息!!!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/42037.html
摘要:歸并排序歸并排序,或,是創建在歸并操作上的一種有效的排序算法,效率為大符號。以此類推,直到所有元素均排序完畢。與快速排序一樣都由托尼霍爾提出的,因而也被稱為霍爾選擇算法。 showImg(https://segmentfault.com/img/remote/1460000019096360);編譯:周素云、蔣寶尚 學會了Python基礎知識,想進階一下,那就來點算法吧!畢竟編程語言只...
摘要:冒泡排序冒泡排序英語是一種簡單的排序算法。冒泡排序算法的運作如下比較相鄰的元素。冒泡排序動態圖代碼實現我們來逐行分析下。這里的減是為了不在遍歷之前排序好的元素。記錄交換的次數,但代表沒有交換,序列已經有序。 冒泡排序 冒泡排序(英語:Bubble Sort)是一種簡單的排序算法。它重復地遍歷要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。遍歷數列的工作是重復地進行直...
摘要:本篇主要實現九八大排序算法,分別是冒泡排序,插入排序,選擇排序,希爾排序,歸并排序,快速排序,堆排序計數排序。希爾排序是非穩定排序算法。歸并排序算法依賴歸并操作。但是,計數排序可以用在基數排序算法中,能夠更有效的排序數據范圍很大的數組。 本篇主要實現九(八)大排序算法,分別是冒泡排序,插入排序,選擇排序,希爾排序,歸并排序,快速排序,堆排序,計數排序。希望大家回顧知識的時候也能從我的這...
摘要:排序算法總結排序算法平均時間復雜度冒泡排序選擇排序插入排序希爾排序快速排序歸并排序堆排序基數排序一冒泡排序基本思想兩個數比較大小,較大的數下沉,較小的數冒起來。 排序算法總結 排序算法 平均時間復雜度 冒泡排序O(n2) 選擇排序O(n2) 插入排序O(n2) 希爾排序O(n1.5) 快速排序O(N*logN) 歸并排序O(N*logN) 堆排序O(N*logN) 基數排序O(d(n+...
摘要:冒泡排序冒泡排序也是一種簡單直觀的排序算法。但希爾排序是非穩定排序算法。快速排序又是一種分而治之思想在排序算法上的典型應用。本質上來看,快速排序應該算是在冒泡排序基礎上的遞歸分治法。 冒泡排序 冒泡排序(Bubble Sort)也是一種簡單直觀的排序算法。它重復地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重復地進行直到沒有再需要交換,也就...
閱讀 1271·2021-11-17 09:33
閱讀 1737·2021-09-09 11:53
閱讀 3196·2021-09-04 16:45
閱讀 1373·2021-08-17 10:12
閱讀 2377·2019-08-30 15:55
閱讀 1775·2019-08-30 15:53
閱讀 2402·2019-08-30 15:52
閱讀 2555·2019-08-29 18:41