随笔分类 -  排序

摘要:稳定性的定义 数组arr中有若干元素,其中A元素和B元素相等,并且A元素在B元素前面,如果使用某种排序算法排序后,能够保 证A元素依然在B元素的前面,可以说这个该算法是稳定的。 稳定性的意义: 如果一组数据只需要一次排序,则稳定性一般是没有意义的,如果一组数据需要多次排序,稳定性是有意义的。例 如要 阅读全文
posted @ 2021-05-25 18:50 Lucky_龍 阅读(674) 评论(0) 推荐(0) 编辑
摘要:快速排序是对冒泡排序的一种改进。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一 部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序 过程可以递归进行,以此达到整个数据变成有序序列。 需求 排序前:{6, 1, 2, 7, 9, 阅读全文
posted @ 2021-05-25 15:19 Lucky_龍 阅读(64) 评论(0) 推荐(0) 编辑
摘要:归并排序是建立在归并操作上的一种有效的排序算法该算法是采用分治法的一个非常典型的应用。将已有序的子 序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序 表,称为二路归并。 需求 排序前:{8,4,5,7,1,3,6,2} 排序后:{1,2,3,4,5 阅读全文
posted @ 2021-05-24 17:22 Lucky_龍 阅读(129) 评论(0) 推荐(1) 编辑
摘要:希尔排序是插入排序的一种,又称“缩小增量排序”,是插入排序算法的一种更高效的改进版本。 需求 排序前:{9,1,2,5,7,4,8,6,3,5} 排序后:{1,2,3,4,5,5,6,7,8,9} 排序原理 1.选定一个增长量h,按照增长量h作为数据分组的依据,对数据进行分组; 2.对分好组的每一组 阅读全文
posted @ 2021-05-24 08:25 Lucky_龍 阅读(73) 评论(0) 推荐(0) 编辑
摘要:插入排序(Insertion sort)是一种简单直观且稳定的排序算法。 需求: 排序前:{4,3,2,10,12,1,5,6} 排序后:{1,2,3,4,5,6,10,12} 排序原理 1.把所有的元素分为两组,已经排序的和未排序的; 2.找到未排序的组中的第一个元素,向已经排序的组中进行插入; 阅读全文
posted @ 2021-05-22 11:09 Lucky_龍 阅读(68) 评论(0) 推荐(0) 编辑
摘要:选择择排序是一种更加简单直观的排序方法。 需求: 排序前:{4,6,8,7,9,2,10,1} 排序后:{1,2,4,5,7,8,9,10} 排序原理 1.每一次遍历的过程中,都假定第一个索引处的元素是最小值,和其他索引处的值依次进行比较,如果当前索引处 的值大于其他某个索引处的值,则假定其他某个索 阅读全文
posted @ 2021-05-21 15:27 Lucky_龍 阅读(55) 评论(0) 推荐(0) 编辑
摘要:冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 需求: 排序前:{4,5,6,3,2,1} 排序后:{1,2,3,4,5,6} 排序原理 比较相邻的元素。如果前一个元素比后一个元素大,就交换这两个元素的位置。 对每一对相邻元素做同样的工作,从开始第一对元素到结尾的最后一 阅读全文
posted @ 2021-05-20 20:26 Lucky_龍 阅读(61) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示