排序算法 常见排序算法特性比较
1.排序算法 冒泡排序 BubbleSort -- C语言实现2.排序算法 选择排序 SelectSort -- C语言实现3.排序算法 归并排序 MergeSort -- C语言实现4.排序算法 希尔排序 ShellSort -- C语言实现5.排序算法 快速排序 quickSort -- C语言实现6.排序算法 插入排序 InsertSort -- C语言实现7.排序算法 基数排序 RadixSort --C语言实现8.排序算法 内省排序(STL sort) IntroSort --C/C++
9.排序算法 常见排序算法特性比较
10.排序算法 排序性能测试代码(随机数调整,高精度时间) - C++排序的概念
排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。
内外部排序
内部排序:数据元素全部放在内存中的排序。
外部排序:数据元素太多不能同时放在内存中,根据排序过程的要求不能在内外存之间移动数据的排序。
稳定与非稳定排序
稳定排序:能够通过一些控制手段达到具有稳定性的排序
-
直接插入排序
-
冒泡排序
-
归并
稳定性在某些场景下需要:一场考试,可能会有相同分数出现,为了给相同分数排名,选择让先交卷的排名更高;在这种场景下,稳定性的作用就体现了.这种场景是一种对键值对<key,value>数据的排序.
不稳定排序:无法具有稳定性的排序
-
希尔排序
-
快速排序
-
直接选择排序
- 堆排序
改进排序的指标
- 比较次数
- 移动次数
图片
本文来自博客园,作者:HJfjfK,原文链接:https://www.cnblogs.com/DSCL-ing/p/18365073
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了