排序的基本概念与分类
2016-03-17 12:45
260 查看
1、排序技巧
实现一次排序即完毕组合排序:将多个徐排序的数字当作字符串首尾连接在一起进行排序。用到字符串比对
2、排序的稳定性
3、内排序和外排序
内排序是在整个排序过程中,待排序的所有记录所有被防止在内存中。
外排序是因为排序的记录个数太多,不能同一时候放置在内存,整个排序过程须要在内外存之间多次交换数据才干进行。
时间性能:高效的内排序算法应该是具有尽可能少的keyword比較次数和尽可能少的记录移动次数。
辅助空间:除了存放待排序所占用的存储空间外,运行算法所须要的其它存储空间。
4、排序用到的数据结构
#define MAXSIZE 10000 /* 用于要排序数组个数最大值。可依据须要改动 */
typedef struct
{
int r[MAXSIZE+1]; /* 用于存储要排序数组,r[0]用作哨兵或暂时变量 */
int length; /* 用于记录顺序表的长度 */
}SqList;
实现一次排序即完毕组合排序:将多个徐排序的数字当作字符串首尾连接在一起进行排序。用到字符串比对
2、排序的稳定性
3、内排序和外排序
内排序是在整个排序过程中,待排序的所有记录所有被防止在内存中。
外排序是因为排序的记录个数太多,不能同一时候放置在内存,整个排序过程须要在内外存之间多次交换数据才干进行。
时间性能:高效的内排序算法应该是具有尽可能少的keyword比較次数和尽可能少的记录移动次数。
辅助空间:除了存放待排序所占用的存储空间外,运行算法所须要的其它存储空间。
4、排序用到的数据结构
#define MAXSIZE 10000 /* 用于要排序数组个数最大值。可依据须要改动 */
typedef struct
{
int r[MAXSIZE+1]; /* 用于存储要排序数组,r[0]用作哨兵或暂时变量 */
int length; /* 用于记录顺序表的长度 */
}SqList;
相关文章推荐
- MFC 在对话框中添加工具条
- nil、Nil、NULL、NSNull的区别
- 野指针与空指针
- mysql查询索引加不加引号性能
- CentOS 7.0下配置MariaDB数据库
- CentOS 7.0下配置MariaDB数据库
- Java 删除当前文件夹及其文件夹下的全部文件
- [python]使用python实现Hadoop MapReduce程序:计算一组数据的均值和方差
- HDU 小Q系列故事——屌丝的逆袭
- Python编程学习笔记 随时更新
- 蓝桥杯 PREV-28 地宫取宝【DFS】
- 大数据递归思维
- Android Material Design theme
- 第7章 andriod so 分析ARM汇编代码
- 交互式SHELL和非交互式SHELL、登录SHELL和非登录SHELL的区别
- thinkphp模板显示默认时间
- Mysql中文乱码问题完美解决方案
- 四大心灵旅行圣地,程序员放下烦恼说走就走!
- muSyarrabuSeziSmuminiM.209
- Qt for Windows:Qt 5.6.0 MinGW 静态编译版本制作