排序算法概述

12 篇文章 26 订阅

基本概念

什么是排序

排序是计算机内经常进行的一种操作,将杂乱无章的数据元素,通过一定的方法按关键字顺序排列的过程叫做排序。

什么是稳定性

定义

能保证两个相等的数,经过排序之后,其在序列的前后位置顺序不变。(A1=A2,排序前A1在A2前面,排序后A1还在A2前面)。

意义

稳定性本质是维持具有相同属性的数据的插入顺序,如果后面需要使用该插入顺序排序,则稳定性排序可以避免这次排序。

排序分类

内部排序和外部排序

按照是否要访问外存,排序可以分为内部排序和外部排序。

内部排序(In-place)

若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。

外部排序(Out-place)

若参加排序的记录数量很大,整个序列的排序过程不可能在内存中完成,则称此类排序问题为外部排序。

稳定排序和不稳定排序

按照稳定性,排序可以分为稳定排序和不稳定排序。

稳定排序

假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的。

不稳定排序

假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序可能会发生变化,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,不能保证r[i]仍在r[j]之前,则称这种排序算法是不稳定的。

常见排序算法

常见的排序算法有:冒泡排序(Bubble sort)、选择排序(Selection sort)、插入排序(Insertion sort )、希尔排序(Shell's sort)、归并排序(Merge sort)、快速排序(Quick sort)、堆排序(Heap sort)、计数排序(Count sort)、桶排序(Bucket sort)、基数排序(Radix sort)。

性能总览

记忆口诀

选泡插, 快归堆希桶计基, n 方 n老 n一三, 对 n 加 k n 乘 k,不稳稳稳不稳稳, 不稳不稳稳稳稳。

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力的老周

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值