七大经典排序算法总结

概念

排序

排序:排序是计算机的一种操作方法,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。(就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作)。
排序是作用于线性结构(有前后顺序),基于比较进行的。
通常我们提到的排序指的是排升序,就是按从小到大的顺序排列。
通常意义上的排序都是指的原地排序(in place sort)。
七大经典的排序算法都可以是内部排序。归并排序有时是最常见外部排序。

内外部排序

内部排序是指待排序列完全存放在内存中所进行的排序过程,适合不太大的元素序列。

外部排序是指排序过程需要在磁盘等外部存储中进行的排序。
因为内存中无法将所有的数据全部放下,所以需要外部排序,而归并排序是最常用的外部排序。

稳定性

两个相等的数据,如果经过排序后,排序算法能保证其相对位置不发生变化,则我们称该算法是具备稳定性的排序算法。
在这里插入图片描述

排序算法简介

Java语言中基于比较的“原地”排序算法有7种。(基于比较能力是指只要求元素之间具备(>、 == 、<等)比较的能力)。这7种分别是:冒泡排序,选择排序,插入排序,希尔排序,堆排序,快速排序,归并排序。
在这里插入图片描述

七大排序算法

一,一篇看懂冒泡排序BubbleSort算法与代码
二,一篇看懂选择排序Select Sort算法与代码
三,一篇看懂插入排序InsertSort算法与代码
四,一篇看懂希尔排序ShellSort算法与代码
五,一篇看懂堆排序HeapSort算法与代码
六,一篇看懂快速排序QuickSort算法与代码
七,一篇看懂归并排序MergeSort算法与代码

七大算法复杂度和稳定性比较

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值