最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用python實現(xiàn)冒泡排序算法實例代碼

 更新時間:2019年12月01日 09:20:19   作者:pypypypy  
這篇文章主要給大家介紹了關于如何利用python實現(xiàn)冒泡排序算法的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧

冒泡排序

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

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

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

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

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

4、持續(xù)每次對越來越少的元素重復上面的步驟,直到?jīng)]有任何一對數(shù)字需要比較。

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

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

python實現(xiàn)冒泡排序:

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實現(xiàn)冒泡排序的核心思想是通過從列表一端迭代循環(huán)元素,再通過一個循環(huán)讓這個元素之后的元素相鄰兩個比較,從而依次將最大值移動到最末端,如下圖示意。

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

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

總結

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

相關文章

最新評論

延津县| 黑水县| 青海省| 正镶白旗| 诸暨市| 博湖县| 祁门县| 九寨沟县| 崇信县| 辽阳市| 寿光市| 睢宁县| 石楼县| 万安县| 郎溪县| 东乌珠穆沁旗| 济源市| 万盛区| 萨迦县| 富宁县| 甘泉县| 蓬溪县| 吉木萨尔县| 满洲里市| 宁武县| 武邑县| 陕西省| 儋州市| 南丰县| 德化县| 舟曲县| 德阳市| 亳州市| 阆中市| 土默特右旗| 综艺| 伊通| 文化| 溆浦县| 静乐县| 调兵山市|