课上笔记(2)(Python)
- 计算机最强的能力就是重复:
不断的重复固定的套路而不疲惫就是计算机的优势,而且其套路包括的范围是可以进行缩减或者增加的。 - 我们可以分析问题中所出现的可能,即方法的种类,并且对其进行分类:
方法种类的数量有两种可能(不变与改变)
首先, 不管怎样,如果存在只有一种选择的情况,则直接+1
(
F(N) 是方法总数量
F(X)是方法种类的数量
)
F(n) = F(x)+1
- 方法种类数量不变形:
如果方法种类的数量不变则直接找出 (当F(N) 在倒数第一次时,其方法种类的数量与n的关系f(x))
F(n) = F(x)
举例:上楼梯阶
存在这样一个楼梯阶→一个总共N阶的楼梯阶
你可以每次上一阶,你也可以每次上两阶,请问你有多少种方法走道楼梯顶上?
首先:
我们知道我们一次可以跳一阶,一次可以跳两阶
那么,我们倒数第一次可以是(N - 1)以及可以是(N - 2)
则:
F(N)
=
F(N - 1){即,倒数第一次为(N - 1)的方法数量}
+
F(N - 2){即,倒数第二次为(N - 2)的方法数量}
即为:
F(N) = F(N - 1) + F(N - 2)
- 方法种类数量改变形(顺序改变):
如果方法种类的数量是改变的,那么就是先找出在 F(N) 在 倒数第一次 时,我们面临有多少种方法,并思索想出 这个种类的数量 和N的关系→X
须知:
X=F(n)-F(n-1)
则有:
F(n)=F(n-1)+X
举例:线条割圆
存在这样一个圆→你可以在其上画一条线,你可以在上面画N条线,则在第N条线画上后,圆被分割成了多少部分?
首先:
我们知道,我们可以在画线的时候,可以不划过线,划过一条线,两条线~~~(N - 2)条线,(N - 1),N条线,则当切仅当第N条线画上时,这条线有N种可能性
则:
F(N)
=
F(N - 1){即,倒数第一次为(N - 1)的方法数量}
+
N{在最后一次增长后的可能性的数量的值}
即为:
F(N) = F(N - 1) + N