键差-插入排序vs选择排序
插入排序和选择排序是两种用于对数据集合进行排序的排序算法。有时需要按特定的顺序排列数据。排序算法是对一组数据进行排序的机制。在排序中,数据按数字或字典顺序排列。如果数据排序正确,那么搜索数据就会更容易更快。如果电话簿中的电话号码不是按顺序排列的,那么就很难找到特定的电话号码。同样地,如果字典里的单词不是按字母顺序排列的,那么要找到单词就会非常困难。因此,分类在日常生活中很有用。在计算机科学中,有排序算法来对数据集合进行排序。这类算法有插入排序和选择排序两种。 The insertion sort is the sorting algorithm that sorts the array by shifting elements one by one. The selection sort is the sorting algorithm that finds the smallest element in the array and exchanges the element with the first position, then find the second smallest element and exchange it with the element in the second position and continues the process till the entire array is sorted. The关键的区别插入排序和选择排序之间是这样的插入排序一次比较两个元素,而选择排序从整个数组中选择最小的元素并对其排序。
内容
1.概述及关键区别
2.什么是插入排序
3.什么是选择排序
4.插入排序和选择排序的相似性
5.并排比较-表格形式的插入排序和选择排序
6.总结
什么是插入排序?
插入排序是一种基于位置比较的排序算法。在此方法中数组是逐步搜索的。将未排序的项移动并插入到数组的已排序子列表中。插入排序算法可以用下面的例子来解释。
例如,初始数组为77、33、44、11、88。在这个排序算法中,第一步是选择当前元素。
当前元素是77。将当前元素与左边的所有元素进行比较。77是第一个元素左边没有元素。当前位置的索引为0。
然后当前位置的索引加1。现在索引是1,当前元素是33。当它与左边的元素比较时,它小于77。然后交换这两个值。现在33在索引0中,77在索引1中。
现在数组是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。
插入排序的实现如上所示。初始数组是77,33,44,11,88。排序后,它给出了输出11,33,44,77,88。
什么是选择排序?
选择排序是一种就地比较的排序算法。数组被分成几个部分。排好序的部分在左边。未排序的部分在右边。首先,要找到最小的值。然后与左边的元素交换。现在这个元素在排序后的数组中。这个过程继续将未排序的数组边界从一个元素向右移动。选择排序算法可以用下面的例子来解释。
例如,初始数组为77、33、44、11、88、22。在这个排序算法中,找到数组中最小的那个。最小的元素是11。它与数组索引0中的元素交换。
现在数组是11 33 44 77 88 22。
最小的元素在索引0中,所以11现在已经排好序了。从剩下的元素中,最小的是22。它与1交换圣索引的元素。
现在数组是11 22 44 77 88 33。
元素11和22已经排好序了。剩下的最小值是33。它与2交换nd索引的元素。
现在数组是11 22 33 77 88 44。
元素11、22和33已经排好序了。剩下的最小值是44。它与3交换理查德·道金斯索引的元素。
现在数组是11 22 33 44 88 66。
元素11 22 33 44已经排好序了。剩下的是88和66。66号元素被替换为4th索引的元素。
现在数组是11 22 33 44 66 88。
它是使用选择排序算法排序的数组。
插入排序的实现如上所示。初始数组是77,33,44,11,88。排序后,它给出了输出11,33,44,77,88。
插入排序和选择排序有什么相似之处?
- 插入排序和选择排序都是排序算法。
插入排序和选择排序的区别是什么?
插入排序vs选择排序 |
|
插入排序是通过逐个移动元素对数组进行排序的排序算法。 | 选择排序是找到数组中最小的元素并将其与第一个位置的元素交换的排序算法,然后找到第二个最小的元素并将其与第二个位置的元素交换,这样一直进行下去,直到整个数组排序完毕。 |
过程 | |
插入排序是通过比较两个元素对子列表进行排序,直到对整个数组进行排序。 | 选择排序选择最小的元素,并将其与第一个位置交换,再次为其余的选择最小的元素,并将其交换到第二个位置,并继续这个过程,直到结束。 |
稳定 | |
插入排序是一种稳定的排序算法。 | 选择排序不是一种稳定的排序算法。 |
总结- - -插入排序vs选择排序
有时需要对数据进行排序。在计算机科学中,有对数据进行排序的算法。本文讨论了插入排序和选择排序两种排序算法。插入排序是通过逐个移动元素对数组进行排序的排序算法。选择排序是找到数组中最小的元素并将其与第一个位置的元素交换的排序算法,然后找到第二个最小的元素并将其与第二个位置的元素交换,这样一直进行下去,直到整个数组排序完毕。插入排序和选择排序的区别在于,插入排序一次比较两个元素,而选择排序从整个数组中选择最小的元素并对其排序。
下载插入排序和选择排序的PDF文件
您可以下载本文的PDF版本,并根据引用说明离线使用它。请在此下载PDF版本:插入排序和选择排序的区别
参考:
1.点,教程。数据结构和算法插入排序。Www.tutorialspoint.com,教程点,2018年1月8日。可以在这里
2.数据结构的选择排序数据结构教程| Studytonight可以在这里
3. theoryapp。"选择,插入和冒泡排序"理论应用,2014年1月20日。可以在这里
4.插入排序在数据结构|数据结构教程| Studytonight。可以在这里
留下一个回复