视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
《python算法教程》怎么样
2020-11-27 14:09:36 责编:小采
文档

前三章的内容,没有什么特别难的,差不多都是一些基本概念的东西,这本书的第四章是叫做“归纳、递归与归简”,这是我们接触的比较早的算法思想之一,先解释一些这三种概念:

1、归简法是指将某一问题转化成另一个问题,通常来讲,我们倾向于把一个较难的未知问题转化成一个较简单的已知问题来进行解决。(把问题简单化)

2、归纳法是用于证明某个语句读某种大型对象类是否成立,我们要先证明在某一基本情况下成立,然后证明它可以通过一个对象传达到“下一个”对象。(高中时接触到的数学归纳法和高等数学中的归纳法和这种是差不多的)

3、递归法主要用于函数的自我调用。举个例子,“世界上没有比恐怖本身更恐怖的事情”,或者“大鱼吃小鱼,小鱼吃虾米”。

首先讲一个归简法的例子。

-我们要从某个数字列表中找到两个彼此最接近但不相同的数字(两个数字绝对值差最小)。

最简单的想法,我们可以用双重循环,逐个数字进行减运算,然后取绝对值,每次与当前最小的进行比较,最后肯定可以找到我们想要的两个数字,代码如下:

我们可以分析一下这个问题,我们要找的绝对值相差最小的两个数,在一维的数轴上一定是相邻的两个数,那我们只需对相邻的两个数进行减操作即可。

总体来讲,如果没有编程基础,不建议将这本书作为入门教程,如果有基础的,将其作为提升的资料,还是不错的选择。

下载本文
显示全文
专题