快排:快速排序,难度不是太大,但是是我经常把玩的小代码之一,引用快排代码创始人的一句话“要不是简练又明显没有错误,要不是复杂没有明显的错误”
起因:
主要是前一阵看刘汝佳的《算法艺术与信息学竞赛》P73页,碰巧我又亲手写了一遍那书上的测试了一下,发现竟然是错误的,然后我又测试了一下我以前写的快排的代码,发现也是错误的ORZ。然后我就翻了一下能找到的快排的源码。包括Qt、JAVA、算法导论,顺手用了一下系统的快排
简单说下
系统的快排 很快
Qt 绝对是另类的代码
JAVA 很符合一般人能想到的优化
算法导论 简练又明显没有错误
刘汝佳的《算法艺术与信息学竞赛》P73页
直接用系统快排的速度惊人,并且也是编程的好习惯
Qt的,不得不说,GOTO语句渐渐退出了人们的视线,但是Qt的快排从代码上来看,性能应该不错
JAVA的快排,优化很多,很JAVA
压轴的《算法导论》,不会令你失望的,代码相当简练,在随机情况下性能也可以