91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

林芝县| 洛浦县| 资源县| 卢氏县| 荆州市| 原阳县| 滦平县| 中西区| 鹤山市| 大兴区| 衡南县| 讷河市| 兴仁县| 方山县| 英吉沙县| 荥经县| 威宁| 儋州市| 蓬安县| 纳雍县| 通渭县| 靖州| 保亭| 会泽县| 河间市| 探索| 安新县| 永清县| 东安县| 满城县| 伊金霍洛旗| 扎兰屯市| 高平市| 淳化县| 永清县| 普洱| 永顺县| 吴江市| 马尔康县| 象山县| 绵阳市|