看动画学算法之:排序-冒泡排序
文章目錄
- 簡(jiǎn)介
- 冒泡排序的原理
- 冒泡排序算法的java實(shí)現(xiàn)
- 冒泡算法的第一次改進(jìn)
- 冒泡算法的第二次改進(jìn)
- 冒泡排序的時(shí)間復(fù)雜度
簡(jiǎn)介
排序可能是所有的算法中最最基礎(chǔ)和最最常用的了。排序是一個(gè)非常經(jīng)典的問(wèn)題,它以一定的順序?qū)σ粋€(gè)數(shù)組(或一個(gè)列表)中的項(xiàng)進(jìn)行重新排序。
排序算法有很多種,每個(gè)都有其自身的優(yōu)點(diǎn)和局限性。
今天我們來(lái)學(xué)習(xí)最最簡(jiǎn)單的冒泡排序算法。
冒泡排序的原理
冒泡排序的原理很簡(jiǎn)單,我們想象一下一個(gè)一個(gè)的氣泡上浮的過(guò)程。
假設(shè)我們有八個(gè)數(shù)字 29,10,14,37,20,25,44,15 要進(jìn)行排序。
我們先用一個(gè)動(dòng)畫(huà)圖來(lái)直觀的觀察一下整個(gè)冒泡排序的過(guò)程:
排序共進(jìn)行八輪,每一輪都會(huì)做兩兩比較,并將較大的元素右移,就像冒泡一下。
一輪結(jié)束之后,八個(gè)元素中最大的那個(gè)元素44將會(huì)移動(dòng)到最右邊。
然后再重復(fù)其他的幾輪。最終得到一個(gè)完全排序的數(shù)組。
也可以這樣看:
第一輪是將八個(gè)元素中的最大值44交換移動(dòng)到最右位置。
第二輪是將八個(gè)元素中的次大值37交換移動(dòng)到最右位置。
以此類(lèi)推。
總結(jié)
以上是生活随笔為你收集整理的看动画学算法之:排序-冒泡排序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 如果你想写自己的Benchmark框架
- 下一篇: 看动画学算法之:排序-插入排序