由于LeetCode上的算法題很多涉及到一些基礎的數據結構,為了更好的理解后續更新的一些復雜題目的動畫,推出一個新系列 -----《圖解數據結構》,主要使用動畫來描述常見的數據結構和算法。本系列包括十大排序、堆、隊列、樹、并查集、圖等等大概幾十篇。
冒泡排序(Bubble Sort)也是一種簡單直觀的排序算法。它重復地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重復地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個算法的名字由來是因為越小的元素會經由交換慢慢“浮”到數列的頂端。
算法步驟
比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最后一對。這步做完后,最后的元素會是最大的數。針對所有的元素重復以上的步驟,除了最后一個。持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。算法演示
排序動畫過程解釋
將天平放在序列的右端,并比較天平左右的數字在這種情況下我們比較 3 和 8比較后如果右邊的數字較小,則被交換因為 8 大于 3 ,所以數字不用交換比較完成后,將天平向左移動一個位置,比較數字因為 3 大于 2 ,所以數字不用交換比較完成后,逐一移動天平,比較數字此時 2 小于 4 ,所以左右的數字互相交換重復同樣的操作,直到天平移動到左端。。。。。。天平到達左端經過上述的操作,數列中最小的數字已經移動到左端將天平返回右端重復相同的操作,直到所有數字都被排序。。。。。。吐完泡泡了參考代碼
C++
Java
Python
獲取文章高清動畫圖片私信我即可。
本文發布于:2023-02-28 20:00:00,感謝您對本站的認可!
本文鏈接:http://www.newhan.cn/zhishi/a/167764854873695.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:冒泡排序(冒泡排序的原理).doc
本文 PDF 下載地址:冒泡排序(冒泡排序的原理).pdf
| 留言與評論(共有 0 條評論) |