排序算法
来源:互联网 发布:使命召唤ol宏数据 编辑:程序博客网 时间:2024/05/22 10:31
排序
定义:设有记录序列:{ R1、R2 ……….. Rn },其相应的关键字序列为:{ K1、K2 ……….. Kn };若存在一种确定的关系: Kx<= Ky<= … <=Kz,则将记录序列 { R1、R2 ……….. Rn } 排成按关键字有序的序列 { Rx、Ry ……….. Rz }的操作,称之为排序。
关系是任意的,通常使用小于(递增)、大于(递减)等关系。
稳定与不稳定:若记录序列中的任意两个记录 Rx、Ry 的关键字 Kx = Ky ;如果在排序之前和排序之后,它们的相对位置保持不变,则这种排序方法是稳定的,否则是不稳定的。
内部排序:全部数据可同时放入内存进行的排序。
外部排序:文件中数据太多,无法全部调入内存进行的排序。
约定:
1)若不加说明本文涉及到的数据以顺序方式利用一维数组r存储
2)数据最终的排序是递增序
3)不失一般性,为简化算法,数据均以整型为例子
4)排序的数据个数用n表示
常用的排序算法
(1)选择类排序:简单选择排序
(2)交换类排序:冒泡排序、快速排序
(3)插入类排序:直接插入排序、希尔排序
以上排序算法的总结:
排序算法平均情况最好情况最坏情况辅助空间稳定性冒泡排序O(n^2)O(n)O(n^2)O(1)稳定简单选择排序O(n^2)O(n^2)O(n^2)O(1)稳定直接插入排序O(n^2)O(n)O(n^2)O(1)稳定希尔排序O(nlogn)O(n^1.3)O(n^2)O(1)不稳定快速排序O(nlogn)O(nlogn)O(n^2)O(logn)不稳定 0 0
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- Hadoop(六)——子项目Pig
- Hadoop(七)——子项目Hive
- Android数据库——使用LitePal的聚合函数
- 将一个任意输入的10进制数转化为16进制形式输出
- Python模块安装
- 排序算法
- 抓交通肇事犯车牌号问题
- 事件 鼠标监听和键盘监听
- 2016年度总结报告(目前实习阶段)
- linux下扩展卷组大小
- 第12周项目3-(2)图遍历算法实现、图的广度遍历
- hdu 5996 dingyeye loves stone nim同阶博弈
- C语言总结(1)
- 入门训练 Fibonacci数列