前言

本书以iOS和Android平台上的应用程序“算法动画图解”为基础,以图配文,详细讲解了各种算法和数据结构的基本原理。如果本书能够帮助大家理解基本算法的操作和特征,那么我将感到十分荣幸。

使用不同的算法解决同一个问题时,就算得到的结果是一样的,算法之间的性质也有很大的差异。比如,某个算法的运行时间很短,但需要占用大量内存;而另一个算法运行时间较长,但内存资源占用较少。学习各种算法可以使我们在编程时有更多的选择。成为优秀程序员的必要条件之一,就是可以根据应用场景选择最合适的算法。

如果您对算法有兴趣,还可以挑战一下“算法理论”这门学科,试着去发现更高效的算法,或者研究目前用算法还无法解决的问题。

石田保辉

 

算法是解决问题的计算步骤,用于编写程序之前。即使是解决同样的问题,高效算法和低效算法所花费的时间也迥然不同。另外,要想执行高效的算法,还需要使用合适的数据结构。本书的目的就是让初学者也能轻松地理解算法和数据结构。

本书以iOS和Android平台上的应用程序“算法动画图解”为基础。该应用以动画的形式展示了算法的流程,而本书则采用了大量的图片来分步讲解,尽量保留了原应用易懂的优点。为了配合出版,本书还添加了“什么是算法”“算法的运行时间”“图的基础知识”等应用中没有的章节,相信会让读者对算法的理解更加深刻。

读完本书,不过是站在了算法世界的入口,这个世界还有很多领域等待人们去探索。如果您由此对算法产生了兴趣,请务必继续深入学习。

宫崎修一