首页 > Python算法 > 认识算法 阅读数:85

Python和算法

对算法的解释,从古至今定义是不唯一的。本教程给出的算法的定义是:一系列用来解决单个或多个问题,或有执行计算功能的命令的集合。而联系上输入与输出,算法就是将输入转换为输出的一系列计算步骤的集合。生动地讲,可以把一个程序比作一道菜。如图 1 所示,做菜的原材料就是输入,做出来的成品即为输出;而算法,就是做菜过程中的复杂步骤。
算法和做菜步骤的对比
图 1:算法和做菜步骤的对比

算法的本质其实是数学的理论与推导。在还没有发明求和公式之前,如何求出 1+2+3+…+n?逐个数求和虽能算出答案,但终究过于繁杂,如果 n=10000 呢?但反观求和公式,无论 n 取多大的值,计算的步骤和繁琐程度基本不会增加。这就是算法存在的意义。人类在解决复杂问题时所采用的一系列特定的方法,即为算法。

Python算法的优势

目前,Python 已经发展成为世界上最受欢迎的编程语言之一,使用非常广泛。由于 Python 的简洁性和丰富的第三方库,相比其他编程语言,使用它编程会更加容易。

Python 是一种非常高级的语言,为我们提供了很多高级的数据结构和相关操作,例如,列表这一数据结构就比其他语言的类似结构使用起来方便很多。同样,针对不同算法,Python 也提供了集合、字典等非常高效的数据结构,操作非常简单,可以直接使用。这一点,不像其他语言(如 C语言),只提供数组、指针等低级的数据结构,还需要我们自己编写相应的增、删、改、查等方法才能实现算法。

使用 Python 学习算法,最大的优势就是可以看到复杂的算法是怎样一步步地从基本的语言机制实现出来。由于 Python 语法的简洁,使得编写算法不用拘泥于复杂的语法,而更关注算法的思想本身——这不就是学习算法的目的吗?