【数据结构】七种常用排序总结

一、七种排序及其讲解

以下为七种排序的讲解:

【数据结构】插入排序------直接插入排序 和 希尔排序

【数据结构】选择排序------选择排序 和 堆排序

【数据结构】交换排序------冒泡排序 和 快速排序

【数据结构】归并排序 ------ 递归及非递归解决归并排序

二、排序的稳定性

1、什么是排序的稳定性

在排序过程中数组中相同数的相对位置不会发生改变的排序是稳定的 ,反之我们说排序是不稳定的

稳定:

不稳定:

2、稳定性的意义

<1>在只进行一次排序的情况下,排序的稳定性都没什么意义

<2>在进行二次或多次排序时稳定性是有意义的

举一个例子:

在学校录取学生时,往往有很多人总成绩是相同的

那么为了为学校录取需要的人时

会再进行单科成绩的比较

当再进行数学成绩比较时,有两个还是分不出来,还要再次进行比较,但是那些原先数学成绩好的同学,不能因为剩下成绩的比较而改变他的相对位置

三、七种排序的总结


七种排序全部代码链接

相关推荐
不想看见40412 小时前
Word Search -- 回溯法--力扣101算法题解笔记
笔记·算法·leetcode
2501_9011478312 小时前
硬币找零问题的动态规划解法与实现思考笔记
笔记·算法·动态规划
Renhao-Wan12 小时前
Java 算法实践(三):双指针与滑动窗口
java·数据结构·算法
Pluchon12 小时前
硅基计划4.0 算法 图的存储&图的深度广度搜索&最小生成树&单源多源最短路径
java·算法·贪心算法·深度优先·动态规划·广度优先·图搜索算法
今儿敲了吗13 小时前
19| 海底高铁
c++·笔记·学习·算法
冰暮流星13 小时前
javascript之字符串索引数组
开发语言·前端·javascript·算法
Hag_2013 小时前
LeetCode Hot100 3.无重复字符的最长子串
算法·leetcode·职场和发展
好学且牛逼的马13 小时前
【Hot100|23-LeetCode 234. 回文链表 - 完整解法详解】
算法·leetcode·链表
小冻梨66613 小时前
ABC444 C - Atcoder Riko题解
c++·算法·双指针
fu的博客13 小时前
【数据结构1】实现线性表
数据结构