第1个回答 2019-11-26
因为推排中有大量无效的操作,比如将最末尾元素移动到堆首,必须要有后续操作再移动此时堆首的元素,这样会增加数据的无序度;但是快排不一样,快排没有无用操作,每一次交换都会使数据更加有序。而且堆排是跳跃访问,快排是局部顺序访问,这两者的速度实际上是不一样的,当数据量增大差距就明显了
第2个回答 2013-10-08
你去看看c语言自带的sort 排序函数吧,藐视也是快排,建议你去看看什么是分摊准则,在小数据的情况下,选择快排比较好,不是 什么完爆不完爆的问题 大哥
第3个回答 2013-10-08
数据结构我不大记得了,不过实际使用是用快速排序的话可能是开发人员的喜欢,历史版本的统一,或者是以硬件换速度吧。