一般对于随机的乱序数字进行排序,我们会选择快速排序,网上也有很多关于快速排序、冒泡、选择、希尔、归并排序的性能对比。问为什么快速排序会比冒泡和选择排序快呢?
先给个数学公式,对于不为零的整数m、n、k,并且满足n = m + k。一定满足如下公式:
n的平方 > m的平方 + k的平方
这也是快排快的原因。首先将n的长度分为m+k,然后m和k又继续分,如此递归下去,每一次递归会减少2mk的时间,这样积累下来就会非常多。
一般对于随机的乱序数字进行排序,我们会选择快速排序,网上也有很多关于快速排序、冒泡、选择、希尔、归并排序的性能对比。问为什么快速排序会比冒泡和选择排序快呢?
先给个数学公式,对于不为零的整数m、n、k,并且满足n = m + k。一定满足如下公式:
n的平方 > m的平方 + k的平方
这也是快排快的原因。首先将n的长度分为m+k,然后m和k又继续分,如此递归下去,每一次递归会减少2mk的时间,这样积累下来就会非常多。