Java教程

数据结构——排序算法

本文主要是介绍数据结构——排序算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

数据结构这门只是本身比较枯燥,以下是用通俗易懂的语言去学习和理解排序。

1、概念

类似于成绩排名一样按照关键字之间的大小关系排序,对同一记录集合,针对不同的关键字进行排序可以得到不同序列。
排序问题中通常将数据元素称为记录,输入的一个记录集合,排序后输出的也是一个记录集合,这种排序是一种线性操作

2、排序的稳定性

在排序中的两条记录m、n,且m排序和n排序不相等,排序前规定m领先于n,如果排序后m仍然n,则属于稳定,否则就是不稳定排序。

3、影响排序的三个要素

排序分为内排序和外排序

  • 内排序:在内存中排序;
  • 外排序:在内存中排序要记录的数据元素不够,不能存放在内存中运行,需要内存和外存同时排序。

3.1时间性能

高效率内排序算法要有尽可能少的记录移动次数和关键字比较字数;

3.2辅助空间

高效率内排序算法不需要过多的辅助空间;

算法复杂性

高效率内排序不宜过于复杂
排序算法分别有:

  • 冒泡排序;
  • 选择排序;
  • 插入排序;
  • 希尔排序;
  • 归并排序;
  • 快速排序;
  • 基数排序;
  • 堆排序;
  • 计数排序;
  • 桶排序。
    本篇博客记录了刚开始学习排序算法,下一篇博客将具体学习冒泡排序
    参考程杰《大话数据结构》
这篇关于数据结构——排序算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!