算法入门教程(十大经典算法图解)

所谓算法(Algorithm),就是解决问题的方法。换句话说,算法提供了一整套解决问题的方案或者思路,也即先做什么,再做什么,最后做什么。学习算法,可以短时间内快速提升「遇到问题,解决问题」的能力。
算法的种类有很多(比如十大经典算法之类),本教程涵盖了几乎所有常用的算法,包括动态规划、分治、贪心、排序、查找等,每种算法用来解决某一类实际问题。
通常,解决一个问题的算法有很多,例如对某个序列进行排序,可以使用冒泡排序、选择排序、希尔排序等,有些算法运行效率高、有些效率差。这种情况下,我们需要具备挑选“好”算法的能力,阅读本套算法教程之后,你将具备这种能力。
教程特点
这套算法入门教程专为小白打造,如果您刚刚接触算法,或者对算法懵懵懂懂,那么本套算法教程非常适合您。
为了降低初学者的门槛,我们采用「图解+伪代码+源代码」的方式讲解每个算法。不仅如此,考虑到读者只掌握了 C/C++、Java 和 Python 中的某一门编程语言,本教程中的每个算法都同时配有 C/C++、Java 以及 Python 的实现源码。
本教程不是教科书,不会玩弄概念,而是力求口语化和通俗化,深入浅出地讲解每个算法,让读者尽快入门。