冒泡排序 - 中文百科知識
文章推薦指數: 80 %
這個算法的名字由來是因為越大的元素會經由交換慢慢“浮”到數列的頂端(升序或降序排列),就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣,故名“冒泡排序”。
基本 ...
冒泡排序 冒泡排序(BubbleSort),是一種計算機科學領域的較簡單的排序算法。
它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果他們的順序(如從大到小、首字母從A到Z)錯誤就把他們交換過來。
走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素已經排序完成。
這個算法的名字由來是因為越大的元素會經由交換慢慢“浮”到數列的頂端(升序或降序排列),就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣,故名“冒泡排序”。
基本信息中文名:冒泡排序英文名:BubbleSort範圍:計算機科學領域性質:排序算法算法原理冒泡排序算法的原理如下:1.比較相鄰的元素。
如果第一個比第二個大,就交換他們兩個。
2.對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。
在這一點,最後的元素應該會是最大的數。
3.針對所有的元素重複以上的步驟,除了最後一個。
4.持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
算法分析時間複雜度冒泡排序冒泡排序冒泡排序冒泡排序若檔案的初始狀態是正序的,一趟掃描即可完成排序。
所需的關鍵字比較次數和記錄移動次數均達到最小值:,。
冒泡排序冒泡排序冒泡排序所以,冒泡排序最好的時間複雜度為。
若初始檔案是反序的,需要進行趟排序。
每趟排序要進行次關鍵字的比較(1≤i≤n-1),且每次比較都必須移動記錄三次來達到交換記錄位置。
在這種情況下,比較和移動次數均達到最大值:冒泡排序冒泡排序冒泡排序冒泡排序的最壞時間複雜度為。
冒泡排序綜上,因此冒泡排序總的平均時間複雜度為。
算法穩定性冒泡排序就是把小的元素往前調或者把大的元素往後調。
比較是相鄰的兩個元素比較,交換也發生在這兩個元素之間。
所以,如果兩個元素相等,是不會再交換的;如果兩個相等的元素沒有相鄰,那么即使通過前面的兩兩交換把兩個相鄰起來,這時候也不會交換,所以相同元素的前後順序並沒有改變,所以冒泡排序是一種穩定排序算法。
算法描述VisualFoxPro語言Python3SwiftC++C++語言程式示例如下RUBYPHPC#語言ErlangC語言c語言程式示例如下JAVAJavaScript控制台將輸出:[1,2,3,4,5,6,7,8,9]並且彈窗;VisualBasic語言Objective-CGo語言GO語言2PASCALPython彙編相關搜尋蒲公英無花果牙科訓練機器人陰道羅漢果格蘭特神經解碼熱門詞條IdentifymarathontranslateVALENTINE《女王的誕生》一支小雨傘上海之戀今日天氣伴娘服千謊百計多良火車站康康敖廠長林秀晶棉褲火鶴花紅葉山莊蔡淑芳行動條碼許珈穎鄭宇成銀絲燙阿基里斯腱馬鈴薯濃湯adminjuicenaomiSCIUCH佐櫻好心作怪新娘鞋新安東京海上產物保險股份有限公司普拉多博物館楚寧清心蓮子飲許舒博說話的藝術賤兔越南新娘鑽石夜總會靜電馬偕醫護管理專科學校黃州快哉亭記AdobeReaderXGoogleGravity七小福關渡藝術節玻璃奶瓶理智與情感螃蟹博物館過失致死罪冒泡排序@百科知識中文網
延伸文章資訊
- 1[C++] 氣泡排序法(Bubble sort)
氣泡排序的意思,wiki 裡面是這麼說明: 又稱為泡沫排序,是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序 ...
- 2(1)冒泡排序(Bubble Sort) · 常见排序算法 - 看云
最近整理了一些常见的排序算法,资料基本上都来自网上,大部分参考了维基百科,分析了常见算法的原理,并举例分步说明,有的还给出了排序动画演示,但没有涉及算法复杂 ...
- 3冒泡排序 - 中文百科知識
這個算法的名字由來是因為越大的元素會經由交換慢慢“浮”到數列的頂端(升序或降序排列),就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣,故名“冒泡排序”。 基本 ...
- 4冒泡排序_百度百科
冒泡排序(Bubble Sort),是一種計算機科學領域的較簡單的排序算法。它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序(如從大到小、首字母從Z到A) ...
- 5DSA - 冒泡排序(Bubble Sort)_数据结构和算法 - WIKI教程
冒泡排序从前两个元素开始,比较它们以检查哪一个更大。.现在我们应该研究一下泡沫排序的一些实际方面。. 我们进一步假设swap函数交换给定数组元素的值。