前三章的内容,没有什么特别难的,差不多都是一些基本概念的东西,这本书的第四章是叫做“归纳、递归与归简”,这是我们接触的比较早的算法思想之一,先解释一些这三种概念:
1、归简法是指将某一问题转化成另一个问题,通常来讲,我们倾向于把一个较难的未知问题转化成一个较简单的已知问题来进行解决。(把问题简单化)
2、归纳法是用于证明某个语句读某种大型对象类是否成立,我们要先证明在某一基本情况下成立,然后证明它可以通过一个对象传达到“下一个”对象。(高中时接触到的数学归纳法和高等数学中的归纳法和这种是差不多的)
3、递归法主要用于函数的自我调用。举个例子,“世界上没有比恐怖本身更恐怖的事情”,或者“大鱼吃小鱼,小鱼吃虾米”。
首先讲一个归简法的例子。
-我们要从某个数字列表中找到两个彼此最接近但不相同的数字(两个数字绝对值差最小)。
最简单的想法,我们可以用双重循环,逐个数字进行减运算,然后取绝对值,每次与当前最小的进行比较,最后肯定可以找到我们想要的两个数字,代码如下:
我们可以分析一下这个问题,我们要找的绝对值相差最小的两个数,在一维的数轴上一定是相邻的两个数,那我们只需对相邻的两个数进行减操作即可。
总体来讲,如果没有编程基础,不建议将这本书作为入门教程,如果有基础的,将其作为提升的资料,还是不错的选择。
Atas ialah kandungan terperinci 《python算法教程》怎么样. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!