排序的目的是什么?
便于查找!

如何衡量排序算法的好坏?

时间效率
排序速度(比较次数与移动次数)

空间效率
占内存辅助空间的大小

稳定性
A和B的关键字相等,排序后A、B的先后次序保持不变,则称这种排序算法是稳定的。

按待排序记录所在位置,分为两类
内部排序
待排序记录存放在内存,排序过程不需访问外存便能完成
外部排序
参加排序的记录数量很大,排序过程需对外存进行访问

按排序过程中依据的原则,分为五类
插入排序:直接插入排序、折半插入排序、希尔排序
交换排序:冒泡排序、快速排序
选择排序:简单选择排序、堆排序
归并排序:2-路归并排序
基数排序

1.直接插入排序

时间复杂度为 O(n2),空间复杂度为 O(1),是一种稳定的排序方法

2.折半插入排序

3.希尔排序

希尔排序是不稳定排序
dk 值较大,子序列中对象较少,速度较快;
dk 值逐渐变小,子序列中对象变多,但大多数对象已基本有序,所以排序速度仍然很快。

4.冒泡排序

时间复杂度:O(n²)
空间复杂度:O(1)
冒泡排序是稳定排序

5.快速排序

6.简单选择排序

时间复杂度:O(n²)
空间复杂度:O(1)
简单选择排序是不稳定排序

7.堆排序

8.归并排序

9 基数排序

多关键字排序

转载于:https://www.cnblogs.com/wpbing/p/10161655.html

数据结构-第十章 排序相关推荐

  1. 输入法按照选字频率排序的C语言程序算法,算法与数据结构之选择排序(C语言)...

    #include #include void SelectSort(int *a,int n);//预声明要调用的函数 int main(void) { int k; int x[]={,,,,,,, ...

  2. SDUT OJ 数据结构实验之排序一:一趟快排

    数据结构实验之排序一:一趟快排 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descrip ...

  3. 数据结构 - 简单选择排序法

    数据结构 - 简单选择排序法 在之前的博文里已经介绍过排序的两个基本方法: 双重循环法和冒泡排序法. 基本思想 其实上面两种方法的基本思想都是一样的: 就是将排序步骤分成两层循环, 在内层的每1个循环 ...

  4. SDUT 3400 数据结构实验之排序三:bucket sort

    数据结构实验之排序三:bucket sort Time Limit: 150MS Memory Limit: 65536KB Submit Statistic Problem Description ...

  5. 数据结构实验之排序七:选课名单

    数据结构实验之排序七:选课名单 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 随着学校规模 ...

  6. 鸿蒙轻内核M核源码分析:数据结构之任务排序链表

    摘要:鸿蒙轻内核的任务排序链表,用于任务延迟到期/超时唤醒等业务场景,是一个非常重要.非常基础的数据结构. 本文会继续给读者介绍鸿蒙轻内核源码中重要的数据结构:任务排序链表TaskSortLinkAt ...

  7. SDUT 3399 数据结构实验之排序二:交换排序

    数据结构实验之排序二:交换排序 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 冒泡排序和快 ...

  8. 数据结构实验之排序八:快速排序

    数据结构实验之排序八:快速排序 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 给定N ...

  9. 数据结构实验之排序四:寻找大富翁__咳咳咳,还魂篇!!

    数据结构实验之排序四:寻找大富翁 Time Limit: 200MS  Memory Limit: 512KB Submit  Statistic Problem Description 2015胡润 ...

最新文章

  1. html中空标签的有什么,HTML常用标签,什么是空标签和可替换标签
  2. redis的观察者模式----------发布订阅功能
  3. javascript删除元素节点
  4. Firewalld防火墙应用
  5. 搜狗词库爬虫(2):基础爬虫框架的运行流程
  6. 卷积神经网络结构可视化工具PlotNeuralNet
  7. 失配树(border树)
  8. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 6丨寻找用户推荐人【难度简单】
  9. java ftp connect_java操作Ftp文件的一些方式(一)
  10. Java集合框架之四大接口、常用实现类,java基础面试笔试题
  11. 简单绑定要注意的问题_AX
  12. UML总结(对九种图的认识和如何使用Rational Rose 画图)
  13. iOS 链接库“libbaidumapapi.a”缺少此目标所需的一个或多个体系结构:arm64、armv7
  14. Android 编写测试用例
  15. 杭州电子科技大学ACM-1096
  16. OpenMV新手上路1 -- OpenMV简介、参数描述
  17. 第五章 图像基础(设备内容)
  18. c语言——直接插入排序实现(时间复杂度与空间复杂度分析)
  19. DSS部署-7、配置Python
  20. 那时本该像风一样把你忘记

热门文章

  1. 设计模式-15-建造者模式
  2. UVa 816 (BFS求最短路)
  3. python2.0_day19_后台数据库设计思路
  4. Kali Linux下的软件安装
  5. 第二章课后习题2-5
  6. ICCV2021 MIT-IBM沃森开源CrossViT:Transformer走向多分支、多尺度
  7. CVPR 2019 Oral | 京东目标检测算法ScratchDet的深入思考
  8. Github出现连接超时
  9. js添加关闭功能_微信小程序开发之添加夜间模式功能
  10. BBAug: PyTorch的物体检测包