数据结构:排序(1)

126 阅读2分钟

「这是我参与11月更文挑战的第23天,活动详情查看:2021最后一次更文挑战

简介

前面给大家介绍了有关数据结构线性表的问题,现在给大家介绍一下有关排序的问题。

排序

基本概念

排序就是重新排列表中的元素,使表中的元素满足按关键字递增或递减的过程。为了查找方便,通常要求计算机中的表是按照关键字有序的。

排序的确切定义如下:

输入:n个记录R1,R2,R3,...,Rn,对应的关键字为K1,K2,...,Kn

输出:输入序列的一个重排R'1,R'2,...,R'n,使得有K'1<=K'2<=...<=K'n

(其中“<=”可以换成其他的比较大小的符号)

算法的稳定性

若待排序表中有两个元素Ri和Rj,其对应的关键字Keyi=Keyj,且在排序前Ri在Rj前面,若使用某一排序算法排序后,Ri仍然在Rj前面,则称这个排序算法是稳定的,否则称排序算法是不稳定的。

注:对于不稳定的排序算法,只需举出一组关键字的实例,说明其不稳定即可。

排序方法从基本思想出发分为五大类:插入排序、选择排序、交换排序、分配排序和归并排序。

寄语

今天主要是给大家介绍一下有关排序算法的简介,让大家可以有一个清晰的认识,排序算法分为那些种类,以及排序算法的定义。下面将为大家整理排序算法的定义以及他们的实现方式,同时还会介绍他们之间的区别以便大家可以加以区分。

往期经典回顾