交换排序和冒泡排序有什么区别?他们是一样的吗?

Mik*_*cin 2 sorting algorithm data-structures

我在算法上有点菜鸟,所以我一直在研究排序算法。我知道Bubble排序与将一个值与其邻居进行比较和交换(如果左边的值大于右边的值)有关。复杂度是O(n^2)。我遇到了交换排序,它似乎具有相同的特征和算法。我曾尝试对交换类型进行研究,但得到的结果有限,而且有点矛盾。他们是一样的吗?

Bubble排序是交换排序的一种,还是相反?

如果它们不同,那么哪些特征使它们不同?

小智 5

唯一的区别在于它们比较元素的方式不同,冒泡排序通过列表和交换元素进行传递。交换排序将一个元素与所有其他元素进行比较。

因此,当我们用气泡排序对数组进行排序时,我们将array [n]与array [n + 1]进行比较。通过交换排序,我们首先比较array [1]与array [2],array [3] ... array [k],然后将array [2]与array [3],array [4] ... array [k]在第二遍,等等。

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