本文主要是介绍数据结构——排序算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
数据结构这门只是本身比较枯燥,以下是用通俗易懂的语言去学习和理解排序。
1、概念
类似于成绩排名一样按照关键字之间的大小关系排序,对同一记录集合,针对不同的关键字进行排序可以得到不同序列。
排序问题中通常将数据元素称为记录,输入的一个记录集合,排序后输出的也是一个记录集合,这种排序是一种线性操作。
2、排序的稳定性
在排序中的两条记录m、n,且m排序和n排序不相等,排序前规定m领先于n,如果排序后m仍然n,则属于稳定,否则就是不稳定排序。
3、影响排序的三个要素
排序分为内排序和外排序
- 内排序:在内存中排序;
- 外排序:在内存中排序要记录的数据元素不够,不能存放在内存中运行,需要内存和外存同时排序。
3.1时间性能
高效率内排序算法要有尽可能少的记录移动次数和关键字比较字数;
3.2辅助空间
高效率内排序算法不需要过多的辅助空间;
算法复杂性
高效率内排序不宜过于复杂
排序算法分别有:
- 冒泡排序;
- 选择排序;
- 插入排序;
- 希尔排序;
- 归并排序;
- 快速排序;
- 基数排序;
- 堆排序;
- 计数排序;
- 桶排序。
本篇博客记录了刚开始学习排序算法,下一篇博客将具体学习冒泡排序
参考程杰《大话数据结构》
这篇关于数据结构——排序算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!