re: 从一道简单的练习题说开去[未登录] Louis.G 2007-11-15 07:25
修正下楼主的错误,堆排序并不最快,它的算法是先把小的数据放在右边然后再移到左边,两次移动的代价并不低。如果是一个有序程度较高的数组堆排序远不如快速排序,快排优化时还可在每个partition长度小的时候使用插入或冒泡以节省时间,而且划分每个partition的种子是随机选取的,可以认为它不会慢到n^2的级别。
不过像这种数据量很大的东西要效率还是自己特殊实现吧,靠标准库是不行的。过分标准的东西往往失去了特性。