查找与排序
2016-04-22 10:29
218 查看
以下为弥补ACM算法以外的知识点:
————————————————————————————
内部排序的时间复杂度有O(n^2), O(nlogn), O(d·n)
概括一些常听说的但却不太认识的一些排序方法:
希尔排序:缩小增量排序,属插入排序类。(直接进行插入排序复杂度很高,可先按增量排序,使整体有序后再作一次整体的插入排序)
计数排序:统计各个数字出现的次数。没什么好讲的。要注意和基数排序区别。
基数排序:多关键字排序+内部稳定排序。(比如先按最高位排序,再按最低位排序;再比如扑克牌先按花色排序,再按数字大小排序,为防止前一次排序因再次排序打乱,故采用稳定排序)
桶排序: 分桶,桶内进行插入排序,之后合并各个桶。
————————————————————————————
外部排序:
一、按可用内存大小将外存分段,依次读入内存进行排序,再重写入外存。
二、然后对上述排完序的归并段进行逐趟归并。
***为减少平衡归并中外存的读写次数采取方法:增大归并路数、减少归并段个数。
用败者树增大归并路数;
用置换选择排序增大归并段的长度来减少归并段个数。
————————————————————————————
查找:
此坑待填。
————————————————————————————
内部排序的时间复杂度有O(n^2), O(nlogn), O(d·n)
概括一些常听说的但却不太认识的一些排序方法:
希尔排序:缩小增量排序,属插入排序类。(直接进行插入排序复杂度很高,可先按增量排序,使整体有序后再作一次整体的插入排序)
计数排序:统计各个数字出现的次数。没什么好讲的。要注意和基数排序区别。
基数排序:多关键字排序+内部稳定排序。(比如先按最高位排序,再按最低位排序;再比如扑克牌先按花色排序,再按数字大小排序,为防止前一次排序因再次排序打乱,故采用稳定排序)
桶排序: 分桶,桶内进行插入排序,之后合并各个桶。
————————————————————————————
外部排序:
一、按可用内存大小将外存分段,依次读入内存进行排序,再重写入外存。
二、然后对上述排完序的归并段进行逐趟归并。
***为减少平衡归并中外存的读写次数采取方法:增大归并路数、减少归并段个数。
用败者树增大归并路数;
用置换选择排序增大归并段的长度来减少归并段个数。
————————————————————————————
查找:
此坑待填。
相关文章推荐
- 自己的菜单,阻止默认事件
- 【Kylin实战】邮件报表生成
- 20常用正则表达式
- 如何算是脚本正确的执行——记一次新员工考核
- 输错密码?这个 sudo 会“嘲讽”你
- 避免同一activity下 多个fragment 切换时重复执行onCreateView方法
- Java层Binder使用(ServiceManager)
- OpenStack for NFV applications: enabling Single Root I/O virtualization and PCI-Passthrough
- 动效-APP设计的肢体语言
- C++实验3-3
- [CareerCup] 17.5 Game of Master Mind 猜字游戏
- Linux chattr锁定关键的系统文件
- 学习笔记之加密解密,PKI,CA
- spring框架中web.xml的配置详解
- 动效设计的物理法则
- iOS 多线程简单使用的详解
- java反射技术
- HBase总结(九)Bloom Filter概念和原理
- [树链剖分 线段树 标记永久化] BZOJ 4515 [Sdoi2016]游戏
- Linux下常用的shell命令