冒泡排序和选择排序有什么区别

目录:

Anonim

冒泡排序和选择排序的主要区别在于 冒泡排序通过重复交换相邻元素(如果它们的顺序错误)进行操作,而选择排序通过从未排序部分重复查找最小元素并将其放置在数组的开头来对数组进行排序。

排序是按排列顺序排列数据的方法。它有助于快速搜索数据元素。排序算法在多个领域都很有用,例如机器学习和大数据分析以操作大型数据集。有各种排序算法。冒泡排序和选择排序是其中的两个。

算法、大数据、冒泡排序、机器学习、选择排序

什么是冒泡排序

冒泡排序是一种排序算法,按升序对元素进行排序。它反复比较相邻的项目。并且,如果左侧的项目大于右侧的项目,则项目交换。

一个例子如下。

5 8 1 6 9 2

考虑 5 和 8。没有必要将这两个数字交换为 5 1;相反,我们交换了两个项目。现在名单如下。

5 1 8 6 9 2

现在考虑 8 和 6。因为 8 > 6,我们交换这两个数字。名单如下。

5 1 6 8 9 2

现在考虑 8 和 9。没有必要将数字交换为 8 2。完成第一次迭代后,列表如下所示。

5 1 6 8 2 9

最大的项目在最右边的位置。现在,我们只需要考虑 5 1 6 9 2。我们可以比较 5 和 1。当 5 > 1 时,我们交换值。然后,和以前一样,我们可以遵循相同的程序。完成迭代后的列表如下。

1 5 6 2 8 9

现在,8 和 9 是列表中最大的项目,但它们已经排序。现在我们必须考虑 1 5 6 2。这个过程继续,最后,我们可以得到一个排序列表。

什么是选择排序

选择排序是一种按递增顺序对元素进行排序的排序算法。在数组的未排序部分中找到最小的元素后,它将该元素与列表中的第一个位置交换。

一个例子如下。

7 8 5 4 9 2

我们取最小值为7。我们检查值8。它不小于7。所以,我们检查5。它小于7。现在,最小值是5。现在,考虑4。它小于最小值 (5)。因此,现在最小值是4。接下来,我们考虑数字9。它不小于当前最小值(4)。因此,我们移动到下一个元素,即 2。它小于当前最小值 (4)。现在最小值是 2。我们可以交换 7 和 2。现在列表如下。

2 8 5 4 9 7

现在,2 已经排好序了,它是列表中最小的数字。其余的是未排序的列表。我们现在应该对 8 5 4 9 7 进行排序。我们将 8 视为最小值。值 5 小于最小值 (8)。所以,现在最小值是 5。然后,值 4 小于最小值。现在最小值是4。那么9不小于最小值4。因此,我们考虑下一个元素7。它不小于最小值4。现在最小值是4。因此,我们交换值4和值8 (1英石 列表中的元素)。现在名单如下。

2 4 5 8 9 7

现在,2 和 4 已排序。我们可以对 5 8 9 7 进行排序。我们将 5 作为最小值,重复上述过程,最后得到一个排序列表。

冒泡排序和选择排序的区别

定义

冒泡排序是一种简单的排序算法,它不断地遍历列表并比较相邻对以对元素进行排序。相反,选择排序是一种排序算法,它取列表中的最小值(考虑升序)并将其移动到数组中的适当位置。因此,这是冒泡排序和选择排序之间的主要区别。

功能

冒泡排序比较相邻元素并相应地交换,而选择排序从未排序的子数组中选择最小的元素并将其放置在已排序子数组的下一个位置。

效率

此外,冒泡排序和选择排序之间的另一个区别是,与冒泡排序相比,选择排序的效率更高。

速度

此外,速度是冒泡排序和选择排序之间的另一个区别。选择排序比冒泡排序更快。

方法

结论

总之,冒泡排序和选择排序之间的主要区别在于,冒泡排序通过重复交换相邻元素(如果它们的顺序错误)来进行操作。相比之下,选择排序通过重复从未排序部分中找到最小元素并将其放在数组的开头来对数组进行排序。

参考:

1.“冒泡排序”。 GeeksforGeeks,2018 年 8 月 30 日,可在此处获得。2。 “选择排序。” GeeksforGeeks,2018 年 9 月 4 日,可在此处获取。

图片提供:

1. Swfung8 的“Bubble-sort-example-300px”——自己的作品(CC BY-SA 3.0),来自 Commons Wikimedia2。 Joestape89(CC BY-SA 3.0)通过Commons Wikimedia撰写的“选择排序动画”

冒泡排序和选择排序有什么区别