文/高向敏
(镇江第一外国语学校 江苏省镇江市 212000)
通俗地来讲,算法就是做某件事情或解决某一问题的方法、步骤、过程和程序,而算法优化是指对算法的有关性能进行优化。举个例子,大家熟知的田忌赛马的故事,在之前的比赛中,田忌总是以上等马对上等马,中等马对中等马,下等马对下等马,齐威王每一个等级的马都要比田忌的强,所以田忌总是输;后来孙膑给田忌出了个主意:比赛时,让他以下等马对齐威王的上等马,再以上等马对他的下等马,最后以中等马对他的下等马。比赛结束,田忌以三局两胜的战绩取得了胜利。同样的马匹,仅仅调换了比赛顺序,就得到了反败为胜的结果。从算法角度看,每场比赛的赛马次序编排都是一种算法,而孙膑的策略就是一种经过优化的算法。
同一问题可用不同算法解决,而一个算法的质量将影响到算法、程序直至软件的工作效率。衡量算法性能的主要指标有时间复杂度、空间复杂度、正确性、健壮性等。就单纯编程竞赛来说,竞赛要求每题的每个测试点数据应在1s内出运算结果,也就是基本语句的运算次数应该控制108以内,因此对于问题规模较大的题目,对算法进行合理优化是必不可少的;就宏观应用来说,假若将一个大的程序运用到实际生产生活中时,算法的执行效率将直接影响了生产效率,特别是,大数据时代到来,算法要处理的数据数量级越来越大,处理问题的场景也愈加千变万化,因此,为提升算法的效率,对算法进行优化也是必不可少的环节。……