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

溫馨提示×

溫馨提示×

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

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

Python中怎么實現冒泡排序

發布時間:2021-07-02 16:04:03 來源:億速云 閱讀:168 作者:Leah 欄目:大數據

本篇文章給大家分享的是有關Python中怎么實現冒泡排序,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

冒泡排序(Bubble Sort)

冒泡排序算法:對無序表進行多趟地比較交換

每一趟對列表兩兩相鄰元素進行比較,大的往后放,這樣在所有元素比較完之后,當前列表的最大項就放到了末尾。然后再對前n-1個數據項進行冒泡排序……最終進行n-1趟冒泡排序,整個列表就排序完成(類似于“氣泡”上浮過程)

Python中怎么實現冒泡排序

1. 第一趟冒泡:共有n-1對相鄰數據進行比較交換

2. 第二趟冒泡:前面的n-1個數據項進行比較交換,共有n-2對相鄰數據項進行比較交換

……

3. 直到第n-1趟冒泡排序:最小項一定就在列表的首位

故總共要進行n-1趟冒泡排序

第幾趟
比對次數
第1趟n-1
第2趟
n-2
第3趟
n-3
……
……
第n-1趟
1

每進行一次冒泡排序后,就少了一個待比較元素。冒泡排序可不會從0次開始,是從1次開始到n-1次。最后一次冒泡只有兩個元素,比較交換后就直接可以結束了

Python中怎么實現冒泡排序

Python中怎么實現冒泡排序

Python中怎么實現冒泡排序  
 

冒泡排序算法分析

對于冒泡排序而言,無論無序表中數據項如何排列,算法過程總是需要進行n-1趟冒泡排序。隨著趟數增加,比對次數從n-1次減少到1次,故比對次數是1+2+3+……+n-1

(1/2)*n^2 - (1/2)*n

比對時間復雜度:O(n^2)

交換次數最好情況:交換次數為0(已經排序好了)

交換次數最壞情況:交換次數n-1次(每次比較都要交換)

交換時間復雜度:O(n^2)

故冒泡排序算法的時間復雜度:O(n^2)

Python中怎么實現冒泡排序  

小結:冒泡排序算法是時間復雜度比較差的一類算法,但有一點優勢——冒泡排序不占任何額外存儲空間

Python中怎么實現冒泡排序  
 

冒泡排序——改進

前言:雖然做了改進,但依然沒有改變其時間復雜度Python中怎么實現冒泡排序Python中怎么實現冒泡排序Python中怎么實現冒泡排序

冒泡排序性能的缺陷在于:無論是否需要交換,都要進行比較。其實很多時候這樣的比較是無意義的

若在某一趟冒泡排序中沒有發生任何交換意味著什么?意味著已經排序好了,不用再進行后面的冒泡排序了。反之,只要進行了一次交換,則后面就要再進行一次冒泡排序

Python中怎么實現冒泡排序

以上就是Python中怎么實現冒泡排序,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

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

AI

肥西县| 镇远县| 镇沅| 安平县| 灵山县| 楚雄市| 墨竹工卡县| 萨嘎县| 西昌市| 东明县| 沁水县| 白玉县| 诏安县| 益阳市| 遂昌县| 河源市| 丰台区| 沈丘县| 理塘县| 佛教| 金溪县| 武威市| 遂宁市| 玉环县| 长泰县| 平顶山市| 扎赉特旗| 江口县| 阜宁县| 霍山县| 巴彦县| 北票市| 中阳县| 泰和县| 德令哈市| 汽车| 梁平县| 七台河市| 太保市| 六枝特区| 新郑市|