插入排序(insertion sort)和选择排序(selection sort)的区别

插入排序和选择排序是两种排序算法,用于对一组数据进行排序。有时有必要按特定顺序排列数据。排序算法是对一组数据进行排序的机制。在排序中,数据是按照数字或字典顺序排列的。如果数据被正确地排序,那么很容易更快地搜索数据。如果电话簿中的电话号码不是按顺序排列的,那么就很难找到具体的电话号码。同样地,如果字典里的单词不是按字母顺序排列的,那么很难找到单词。因此,分类在日常生活中是有用的。在计算机科学中,有排...

关键区别-**排序与选择排序

**排序和选择排序是两种排序算法,用于对一组数据进行排序。有时有必要按特定顺序排列数据。排序算法是对一组数据进行排序的机制。在排序中,数据是按照数字或字典顺序排列的。如果数据被正确地排序,那么很容易更快地搜索数据。如果电话簿中的电话号码不是按顺序排列的,那么就很难找到具体的电话号码。同样地,如果字典里的单词不是按字母顺序排列的,那么很难找到单词。因此,分类在日常生活中是有用的。在计算机科学中,有排序算法对一组数据进行排序。这两种算法是**排序和选择排序。**排序是通过逐个移动元素对数组进行排序的排序算法。选择排序是在数组中找到最小的元素并与第一个位置交换元素,然后找到第二个最小元素并与第二个位置的元素交换,然后继续这个过程直到整个数组被排序。**排序和选择排序的关键区别在于**排序一次比较两个元素,而选择排序则从整个数组中选择最小的元素并对其排序。

目录

1. 概述和主要区别
2. 什么是**排序
3. 什么是选择排序
4. **排序和选择排序的相似性
5. 并排比较-**排序与表格形式的选择排序
6. 摘要

什么是**排序(insertion sort)?

**排序是一种基于就地比较的排序算法。该方法是一步一步搜索数组。未排序的项将被移动并**数组的已排序子列表中。**排序算法可以用下面的例子来解释。

例如,将初始数组设为77,33,44,11,88。在这种排序算法中,第一步是选择当前元素。

当前元素为77。当前元素与左侧的所有元素进行比较。77是第一个元素,左侧没有元素。当前位置的索引为0。

然后,当前位置的索引将增加1。现在索引是1,当前元素是33。与左侧的元素比较时,它小于77。然后,这两个值都被交换。现在33在索引0中,77在索引X1中。

现在数组是33,77,44,11,88。

同样,索引是递增的。索引为2,当前元素为44。它与左侧的元素进行比较。44小于77。所以这两个值是交换的。现在数组是33,44,77,11,88。有必要比较左边的所有元素。所以,44和33相比。33比44小。所以这些元素不需要交换。

现在数组是33,44,77,11,88。

同样,索引是递增的。索引为3,当前元素为11。它与左边的所有元素进行比较。11小于77,所以这两个被交换了。现在数组是33,44,11,77,88。比较11和44时,11小于44。所以这两个是交换的。现在数组是33,11,44,77,88。同样,11与33相比。11小于33,所以这两个值被交换。

现在数组是11,33,44,77,88。

递增索引将使索引变为4。值是88。它高于77。所以,没有必要交换。最后,排序后的数组是11,33,44,77,88。

**排序(insertion sort)和选择排序(selection sort)的区别

图01:**排序示例

**排序的实现如上所示。初始数组为77,33,44,11,88。排序后,输出11,33,44,77,88。

什么是选择排序(selection sort)?

选择排序是一种基于就地比较的排序算法。数组被分成若干部分。排序的部分在左端。未排序的部分在右端。首先应该找到最小的值。然后与左元素交换。现在元素在排序数组中。此过程继续将未排序的数组边界从一个元素向右移动。选择排序算法可以用下面的例子来解释。

例如,将初始数组设置为77,33,44,11,88,22。在这个排序算法中,找到数组中最小的。最小的元素是11。它与数组的0索引中的元素交换。

现在数组是11,33,44,77,88,22。

最小的元素在索引0中,因此11现在被排序。其余元素中最小的22个。它与第一个索引元素交换。

现在数组是11,22,44,77,88,33。

元素11和22已经排序。其余的最小值是33。它与第二个索引元素交换。

现在数组是11,22,33,77,88,44。

元素11、22和33已经排序。其余的最小值是44。它与第三个索引元素交换。

现在数组是11,22,33,44,88,66。

元素11、22、33、44已经排序。其余的元素是88和66。元素66与第4个索引元素交换。

现在数组是11,22,33,44,66,88。

它是使用选择排序算法排序的数组。

**排序(insertion sort)和选择排序(selection sort)的区别

图02:选择排序示例

**排序的实现如上所示。初始数组为77,33,44,11,88。排序后,输出11,33,44,77,88。

什么是**排序与选择排序的相似性(the similarity between insertion sort and selection sort)?

  • **排序和选择排序都是排序算法。

**排序(insertion sort)和选择排序(selection sort)的区别

**排序与选择排序
**排序是通过逐个移动元素对数组进行排序的排序算法。 选择排序是在数组中找到最小的元素并与第一个位置交换元素,然后找到第二个最小元素并与第二个位置的元素交换,然后继续这个过程直到整个数组被排序。
过程
**排序是通过比较两个元素对子列表进行排序,直到整个数组被排序为止。 选择排序选择最小元素并将其与第一个位置交换,再次为其余位置选择最小值并将其交换到第二个位置并继续此过程直到结束。
稳定性
**排序是一种稳定的排序算法。 选择排序不是一个稳定的排序算法。

总结 - **排序(insertion sort) vs. 选择排序(selection sort)

有时需要对数据进行排序。在计算机科学中,有分类数据的算法。本文讨论了**排序和选择排序两种排序算法。**排序是通过逐个移动元素对数组进行排序的排序算法。选择排序是在数组中找到最小的元素并与第一个位置交换元素,然后找到第二个最小元素并与第二个位置的元素交换,然后继续这个过程直到整个数组被排序。**排序和选择排序的区别在于**排序一次比较两个元素,而选择排序则从整个数组中选择最小的元素并对其排序。

下载**排序与选择排序的pdf文件

你可以下载这篇文章的PDF版本,并根据引文说明离线使用。请在这里下载PDF版本:**排序和选择排序的区别

引用

  • 发表于 2020-10-19 12:45
  • 阅读 ( 600 )
  • 分类:IT

你可能感兴趣的文章

插入排序(insertion sort)和选择排序(selection sort)的区别

关键区别-**排序与选择排序 **排序和选择排序是两种排序算法,用于对一组数据进行排序。有时有必要按特定顺序排列数据。排序算法是对一组数据进行排序的机制。在排序中,数据是按照数字或字典顺序排列的。如果数据...

  • 发布于 2020-10-19 12:45
  • 阅读 ( 600 )

可提高windows管理技能的powershell cmdlet

... (下一节将提供有关“选择对象”和“排序对象”的详细信息。) ...

  • 发布于 2021-03-13 13:26
  • 阅读 ( 294 )

如何按评论数对亚马逊搜索结果排序

... Amazon Sort for Chrome帮助您按评论数对搜索结果进行排序。简单但有效! ...

  • 发布于 2021-03-16 07:54
  • 阅读 ( 346 )

如何在linux上使用uniq命令

...繁的合作者之一是sort,因为uniq必须对要处理的输入进行排序。 让我们点燃它! 相关:如何在Linux上使用管道 运行uniq没有选项 我们有一个文本文件,里面有罗伯特·约翰逊的歌《我相信我会打扫我的扫帚》的歌词。让我们看看u...

  • 发布于 2021-04-02 16:25
  • 阅读 ( 194 )

如何在excel中按字母顺序排列工作表页签

...大量工作表,则可能很难找到特定的工作表。按字母顺序排序工作表选项卡将更容易找到您要查找的内容。 相关:如何在Excel中重命名工作表选项卡 除了通过对工作表应用颜色来组织工作表选项卡外,只要您已将自定义名称应...

  • 发布于 2021-04-08 18:07
  • 阅读 ( 346 )

amazon sort for chrome为amazon结果添加了一个“评论数”排序方法

...是最有意义的,这意味着根据普通顾客的评价对结果进行排序。不幸的是,这并不总是有帮助的,因为它包含的产品只有几个评论。amaz***ort是一个Chrome扩展,它可以帮助您进行排序。amaz***ort只是增加了一个新的排序方法,“评...

  • 发布于 2021-05-16 09:40
  • 阅读 ( 154 )

银行代码(swift code)和排序代码(sort code)的区别

...主要手段。因此,如果您在另一个国家,您甚至不能使用排序代码将资金转移到英格兰或爱尔兰,因为这将缺少识别该国家的正确代码。 很容易确定您的代码是swift代码还是排序代码,因为它们在长度和组成方面有很大的不同。...

  • 发布于 2021-06-23 19:49
  • 阅读 ( 494 )

快速排序(quick sort)和合并排序(merge sort)的区别

对列表中的项目进行排序是一项很平常的任务,而且常常很耗时。术语排序通常是指根据预先指定的排序关系,以升序或降序排列列表中的项目。排序通常用于搜索,这是数据处理中的另一项基本活动。想象一下,如果字典里的...

  • 发布于 2021-06-25 22:32
  • 阅读 ( 449 )

分类(sort)和寻求(sought)的区别

主要差异排序(main difference sort) vs. 寻求(sought) Sort和seeded是另一对同音词,对英语学习者来说是一个巨大的挑战。虽然这些词听起来很像,但它们的意思完全不同。seek是seek的过去分词,而sort在意义上等同于type或category等词。这...

  • 发布于 2021-06-27 18:36
  • 阅读 ( 182 )

气泡排序(bubble sort)和选择排序(selection sort)的区别

冒泡排序和选择排序的主要区别在于,冒泡排序的操作方式是,如果相邻元素的顺序错误,则重复交换相邻元素;而选择排序的操作方式是,从未排序的部分重复查找最小元素,并将其放在数组的开头。 排序是按排列顺序排列...

  • 发布于 2021-07-01 07:25
  • 阅读 ( 574 )
xjta1731
xjta1731

0 篇文章

相关推荐