基于比较排序时间复杂度下界
2016-01-23 22:31
253 查看
对于nn个待排序元素
经过一次比较后,其中两个元素的顺序被确定,所以可能的正确结果剩余n!/2n!/2种;
依次类推,直到经过mm次比较,剩余可能性n!/(2m)n!/(2^m)种;
直到n!/(2m)≤1n!/(2^m) \le 1时,结果只剩下一种,此时mm为O(nlogn)O(nlogn);
根据Stirling’s approximation可知:m=O(nlogn)m = O(nlogn)
转载自:基于比较的排序,时间复杂度下界是o(nlogn)的小证明
斯特林公式:n!≈2πn−−−√(n/e)nn! \approx \sqrt{2 \pi n} (n/e)^n
经过一次比较后,其中两个元素的顺序被确定,所以可能的正确结果剩余n!/2n!/2种;
依次类推,直到经过mm次比较,剩余可能性n!/(2m)n!/(2^m)种;
直到n!/(2m)≤1n!/(2^m) \le 1时,结果只剩下一种,此时mm为O(nlogn)O(nlogn);
根据Stirling’s approximation可知:m=O(nlogn)m = O(nlogn)
转载自:基于比较的排序,时间复杂度下界是o(nlogn)的小证明
斯特林公式:n!≈2πn−−−√(n/e)nn! \approx \sqrt{2 \pi n} (n/e)^n
相关文章推荐
- Entity Framework 6 Recipes 2nd Edition(10-10)译 - > 为TPH继承的插入、更新、删除操作映射到存储过程
- Java学习之javassist
- 关于SIMD指令的一些问题
- 【java】collection-->set
- sort
- fxmaker基本使用
- Java学习之IO之File类一
- 奇异值分解(转载)
- OpenStack设计与实现(二)Libvirt简介与实现原理
- C++ 不定个数参数写法
- 笔记sizeof
- 【综合】表格数据编辑和保存
- python在windows的cmd中打印彩色文字
- Android Studio SDK 更新方法
- SOAP消息机制简介
- [LeetCode100]Same Tree
- 数据分析常见指标
- 真正的客观,没有偏见
- 设计模式——行为型模式(二)
- kafka的优点和新特性