常用的内部排序【1】——排序算法的概念及内部排序的分类
来源:互联网 发布:龙记模胚参数数据2330 编辑:程序博客网 时间:2024/04/30 01:53
1.排序概述
排序:排序就是将一组任意的数据(或记录)变成一组按关键字排序的有序序列。
排序的目的:快速查找。
衡量算法优劣的标准:
- 时间复杂度:主要分析关键字的比较次数和记录的移动次数。
- 空间复杂度:分析排序中需要的辅助内存。
- 稳定性:若记录A和B的关键字值相等,但排序后A、B的先后次序保持不变,则此排序算法是稳定的;反之,就是不稳定的的。
排序算法的两大分类:
- 内部排序:所有排序操作均在内存中完成,不需要借助外部存储器的排序。
- 外部排序:参与排序的数据量十分大,无法再内存中完成,必须借助外部存储器的排序。
外部排序的最常用的算法:多路归并排序,其算法思想如下:
- 把要排序的文件中的一组数据读入内存的排序区,然后用内部排序对这一组数据排序,接着输出到外部存储器。
- 重复第一步,每次读取一组数据,直到原文件的所有记录都被处理完毕。
- 将分组排好序的记录两组两组地合并排序。在内存容量允许的情况下,每组包含的记录越大越好,这样可以减少合并的次数。
实际上,也可以认为外部排序由多次内部排序组成。常说的排序就是指内部排序。
2.内部排序的分类
内部排序可以分为以下6大类,具体10中排序:
- 选择排序:【直接选择排序、堆排序】
- 交换排序:【冒泡排序、快速排序】
- 插入排序:【直接插入排序、折半插入排序、Shell排序】
- 归并排序
- 桶式排序
- 基数排序
- 常用的内部排序【1】——排序算法的概念及内部排序的分类
- 内部排序的分类
- 常用的内部排序
- 常用的内部排序
- 数据结构——常用的内部排序算法
- 常用内部排序的实现
- 常用的内部排序方法-比较排序
- 内部排序算法的稳定性
- 7.6.1 内部排序算法的比较
- 基本的内部排序
- 内部排序的总结
- 基本的内部排序
- 排序的概念及分类
- 若干常用(内部)排序算法的总结
- 内部排序分类及稳定性
- 几种内部排序算法的比较
- 内部排序算法的C/C++实现
- 内部排序算法的比较和实现
- OracleOraDb11g_home1TNSListener服务启动后刷新又成不是启动状态了,The Network Adapter could not establish the connecti
- Oracle 10g数据库服务器端的安装
- 珠海公共自行车系统分析系列 - 前言
- ubuntu下终端路径显示的修改
- 安装wget 、 wget命令
- 常用的内部排序【1】——排序算法的概念及内部排序的分类
- Oracle DB 对行进行分组-group by、having
- 【HBase】org.apache.zookeeper.client.ZooKeeperSaslClient: SecurityException: java.lang.SecurityExcepti
- java栈和堆的区别
- 工厂方法和抽象工厂的区别
- UIAlertView 详解
- 接口和抽象类中的方法和变量的类型
- blog的开始
- vim中执行shell