ios学习笔记---排序算法

寵の児 提交于 2020-01-31 00:11:28

排序算法

1.概念

  所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。

2.选择排序算法时常用的几个参照

  a.稳定性

    假定在带排序的记录序列中,存在多个具有相同关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r= rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的;否则称为不稳定的。

  b.时间复杂度

    计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。

    时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。

  c.空间复杂度

3.算法

  冒泡排序

    原理:比较相邻的元素。如果第一个比第二个大,就交换他们两个。

       对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

       针对所有的元素重复以上的步骤,除了最后一个。

       持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

  选择排序

  插入排序

  希尔排序

  快速排序

  归并排序

  基数排序

  二叉树排序

  

 

 

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!