2016-11-24 97 views
0

我是一種算法中的noob,所以我一直在研究排序算法。我知道Bubble排序與將值與鄰居進行比較並交換,如果左邊的值大於右邊的值。複雜度爲O(n^2)。我遇到了交換排序,它似乎具有相同的特徵和算法。我試圖在交換分類方面做我的研究,但我得到的結果是有限的,它們有點矛盾。那麼他們是一樣的嗎?交換排序和冒泡排序有什麼區別?他們是一樣的嗎?

是泡沫排序類型的交換排序還是其他方式?

如果它們不同,哪些特徵使它們不同?

+0

也許張貼的僞代碼。 – erip

回答

1

唯一的區別在於它們比較元素的方式,冒泡排序通過列表和交換元素。交換排序將一個元素與所有其他元素進行比較。

所以當我們使用冒泡排序對數組進行排序時,我們將數組[n]與數組[n + 1]進行比較。 使用交換排序,我們在第一遍比較array [1]與array [2],array [3] ... array [k],然後使用array [3],array [4] ...比較array [2] ...陣列[K]在第二遍等

交換算法可視化 - https://www.youtube.com/watch?v=v0ipy1h-TPM

+0

非常感謝!真的很感謝thjs。 –