关于排序的2个基础问题
复习排序算法,
想起两个问题,
快速排序是否可以优化到 最差复杂度为n*log n?
//比如使用 五元中位数法,(除开三元取中法,随机轴法 等简单的优化划分方法 )
第二个问题是:
堆排序,可否用于 外排中,也就是数据不全在内存中的情形,如果能,如何实施。
[解决办法]
你这不是复习, 你在研究.
个人见解:
1, 直接调stdlib qsort, 复杂度不满意学习一下01排序网络, 最后用map reduce.
2, 没听过, 但4叉堆之类的优化结构有兴趣可以去学一下. 另外, 磁盘上的可排序结构我只了解B树以及其变形, 还有基础的归并排序。
[解决办法]
第一个问题july的编程艺术书上有讨论 结果是不可以