诸葛亮vs司马懿,排序算法大战谁能笑到最后? (2)

快速排序法之要害,在于选择基准参考,并将队伍划分为矮于基准之人部分和高于基准之人部分。再缩小范围,复用此法,直至整个队伍有序。

昭曰:“父亲,,,大都督所言不错,可为何不能使用此法?”

仲达指着队伍,言道:“诸将请看,千人之队,必有大量身高相等之人,若以快速排序法,势必做大量无用位置交换,徒耗不少功夫。快速排序法名曰快速,切不可纸上谈兵,还需审时度势,灵活变通才是”

司马昭点头,深以为然:“还是大都督老谋深算,末将虽研习多年,尤未可及也”

仲达于司马昭耳畔窃言数语,随即遣之出战。

司马昭来到队伍前面,将队伍分作两半,又将每一半继续分作两半,直至无可再分。接着按照大小合并每一个细分的部分为有序队伍,又进一步将这些有序队伍合并成更大的有序队伍,直至合并所有兵士为整体的有序队伍

司马问道:“孔明,你可识得我儿司马昭所用排序之法?”

诸葛笑答:“别说是我,我蜀中三尺孩童也识得,此乃归并排序法,是也不是?”

司马未露声色,回看姜维,一不留神,姜维所排队伍竟已近尾声。

诸葛察之,问道:“仲达可识得姜维所用排序之法?”

司马细细观之,只见姜维从队首至队尾,依次询问所有人身高,并记录整个队伍之最矮与最高者,最终得最矮者六尺二寸,最高者八尺三寸。随即从六尺二寸、六尺三寸、六尺四寸,直至八尺二寸、八尺三寸共划分为二十二组。随后将所有人依次分入各组,再将各组依序合并。 千人之队,不待半个时辰,竟将完成。

片刻之后,姜维完成队列排序,此一轮,蜀胜。

司马仍未露声色,悄然返回军中,谓之左右曰:“诸葛亮果然有些本事,我不如也”

三局两胜,司马失利,依约后撤五十里,高挂免战牌,自此坚守不出。

彩蛋

撤军路上,昭问仲达:“大都督,蜀将姜维所用何法,竟能如此神速?”

不待仲达开口,前方一哨骑回报:“报~,大都督,蜀将魏延趁两军对峙,亲率两万铁骑攻我大营,我守将不备,大营给,给丢了”

司马怒目圆睁,摔下马去。

文中动图来源

《十大经典排序算法(动图演示)》:https://www.cnblogs.com/onepixel/articles/7674659.html

作者:一像素

往期热门回顾

因为一个跨域请求,我差点丢了饭碗

一个神秘URL酿大祸,差点让我背锅!

就为了一个原子操作,其他CPU核心都罢工了

完了!CPU一味求快出事儿了!

可怕!CPU竟成了黑客的帮凶!

哈希表哪家强?几大编程语言吵起来了!

震撼!全网第一张源码分析全景图揭秘Nginx

一网打尽!每个程序猿都该了解的黑客技术大汇总

DDoS攻击:无限战争

一个Java对象的回忆录:垃圾回收

谁动了你的HTTPS流量?

路由器里的广告秘密

一个HTTP数据包的奇幻之旅

我是一个流氓软件线程

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zywxdd.html