排序
来源:互联网 发布:安川伺服软件下载 编辑:程序博客网 时间:2024/06/06 18:53
排序的稳定性:由于排序不仅是针对主关键字,对于次关键字,因为待排序的记录序列中可能存在两个或两个以上的关键字相等的记录,排序结果可能会存在不唯一的情况。假设ki=kj,且在排序前的序列中ri领先于rj。如果排序之后ri仍领先于rj,则称所用的排序方法是稳定的,反之,若可能使得排序后的序列中rj领先于ri,则称所用的排序方法不稳定。
内排序:在排序的整个过程中,待排序的所有记录全部被放置在内存中。
外排序:由于排序的记录个数太多,不能同时放置在内存,整个排序过程需要在内外存之间多次交换数据才能进行。
时间性能:在内排序中,主要进行比较和移动,高效的内排序算法应该具有尽可能少的关键字比较次数和尽可能少的记录移动次数。
辅助空间:辅助存储空间是除了存放待排序所占用的存储空间之外,执行算法所需要的其他存储空间。
内排序:插入排序(直接插入排序—>希尔排序)、交换排序(冒泡排序—>快速排序)、选择排序(简单选择排序—>堆排序)和归并排序。
简单排序算法:冒泡排序、简单选择排序和直接插入排序。
改进排序算法:希尔排序、堆排序、归并排序和快速排序。
考虑时间复杂度:
最好情况下,冒泡和直接插入
最坏情况下,堆和归并
考虑空间复杂度:堆
考虑稳定性:归并
考虑待排序列的个数,个数越小,采用简单排序方法越合适,越大,采用改进排序方法越合适。
阅读全文
0 0
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 内容迁移到移动端时,用户体验优化的7个关键点
- 服务器后端servlet中文信息返回,使用response乱码的问题及setCharacterEncoding()与setContentType()区别
- 简单的TS入门
- SpringMVC——接收请求参数和页面传参
- JavaScript数组遍历的几种方式
- 排序
- 模板元编程
- 对caffe2的一些初步体会(草稿)
- PG10 中pg_current_wal_insert_lsn()和pg_walfile_name()的使用
- C++深拷贝与浅拷贝(实现String类)
- echarts世界国家中英文对照
- 饿了么组件库element-ui正则表达式验证表单,后端验证表单
- HDU
- 机器学习概念(1)