Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 什么';交换排序和冒泡排序的区别是什么?它们是一样的吗?_Algorithm_Sorting_Data Structures - Fatal编程技术网

Algorithm 什么';交换排序和冒泡排序的区别是什么?它们是一样的吗?

Algorithm 什么';交换排序和冒泡排序的区别是什么?它们是一样的吗?,algorithm,sorting,data-structures,Algorithm,Sorting,Data Structures,我在算法方面有点不在行,所以我一直在研究排序算法。我知道冒泡排序需要将一个值与它的邻居进行比较,如果左边的值大于右边的值,则进行交换。复杂度为O(n^2)。我遇到了exchange排序,它似乎具有相同的特性和算法。我曾经尝试过做关于交换排序的研究,但是我得到的结果是有限的,而且有点矛盾。那么它们是一样的吗 冒泡排序是一种交换排序还是另一种 如果它们不同,是什么特征使它们不同?唯一的区别在于它们比较元素的方式,冒泡排序通过列表和交换元素。Exchange排序将一个元素和所有其他元素进行比较 所以,

我在算法方面有点不在行,所以我一直在研究排序算法。我知道冒泡排序需要将一个值与它的邻居进行比较,如果左边的值大于右边的值,则进行交换。复杂度为
O(n^2)
。我遇到了exchange排序,它似乎具有相同的特性和算法。我曾经尝试过做关于交换排序的研究,但是我得到的结果是有限的,而且有点矛盾。那么它们是一样的吗

冒泡排序是一种交换排序还是另一种


如果它们不同,是什么特征使它们不同?

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

所以,当我们用冒泡排序对数组进行排序时,我们将数组[n]与数组[n+1]进行比较。 使用exchange排序,我们将数组[1]与数组[2]进行比较,将数组[3]…数组[k]放在第一遍,然后将数组[2]与数组[3]进行比较,将数组[4]…数组[k]放在第二遍,以此类推


Exchange算法可视化-

可能会发布伪代码。非常感谢!!真的很感谢你。