数学知识复习
指数
XAXB=XA+B
XBXA=XA−B
(XA)B=XAB
XN+XN=2XN�=X2N
对数
在计算机科学中,除非有特别的声明,所有的对数都是以2为底的。
定义:XA=B,当且仅当logXB=A
定理1.1
logAB=logCAlogCB
定理1.2
logAB=logA+logB
logBA=logA−logB
log(AB)=BlogA
logX<X(对于所有X>0成立)
log1=0,log2=1,log1024=10,log1048576=20
级数
最容易记忆的公式是
∑i=0N2i=2N+1−1
和
∑i=0NAi=A−1AN+1−1
在第二个公式中,如果0<A<1,则
∑i=0NAi≤1−A1
当N趋向∞时该和趋向于1−A1,这些公式是“几何级数”公式。
分析中另一种常用类型的级数是算术级数。任何这样的级数都可以通过基本公式计算其值。
∑i=1Ni=2N(N+1)≈2N2
例如,为求出和2+5+8+⋯+(3k−1),将其改写为3(1+2+3+⋯+k)−(1+1+1+⋯+1),显然,它就是2−k3k(k+1)。另一种记忆的方法则是将第一项与最后一项相加(和为3k+1),第二项与倒数第二项相加(和也是3k+1),等等。由于有2k个这样的数对,因此总和就是2k(3k+1),这与前面的答案相同。
现在介绍下面两个公式,它们就没有那么常见了。
∑i=1Ni2=6N(N+1)(2N+1)≈3N3
∑i=1Nik≈∣k+1∣Nk+1k�=−1
当k�=−1时,后一个的公式不成立。此时我们需要下面的公式,这个公式在计算机科学中的使用要远比在数学其他科目中使用得多。数HN叫做调和数,其和叫做调和和。下面近似式中的误差趋向于γ≈0.57721566,这个值被称为欧拉常数(Euler’s constant)。
HN=∑i=1Ni1≈logeN
以下两个公式只不过是一般的代数运算。
∑i=1Nf(N)=Nf(N)
∑i=n0Nf(i)=∑i=1Nf(i)−∑i=1n0−1f(i)
模运算
如果N整除A−B,那么我们就说A与B模N同余(congruent),记为A≡B(mod N)。
如同等号的情形一样,若A≡B(mod N),则A+C≡B+C(mod N)以及AD≡BD(mod N)
证明方法
归纳法证明
由归纳法进行证明有两个标准的部分。第一步是证明基准情形(base case),就是确定定理对于某个(某些)小的值的正确性。接着,进行归纳假设(inductive hypothesis)。一般来说,这意味着假设定理对直到某个有限数k的所有的情况都是成立的。至此定理得证(在k是有限的情形下)。
通过反例证明
公式Fk≤k2不成立。证明这个结论的最容易的方法就是计算F11=144>112。
反证法证明
反证法证明是通过假设定理不成立,然后证明假设导致某个已知的性质不成立,从而说明原假设是错误的。
递归简论
过程(procedure)即为返回值为void型的函数。
⌊X⌋意为小于或等于X的最大整数。
当编写递归例程的时候,关键是要牢记递归的四条基本法则:
- 基准情形。必须总有某些基准情形,它无须递归就能解出。
- 不断推进。对于那些需要递归求解的情形,每一次递归调用都必须使求解状况朝接近基准情形的方向推进。
- 设计法则。假设所有的递归调用都能运行。
- 合成效益法则(compound interest rule)。再求解一个问题的同一个实例时,切勿在不同的递归调用中做重复性的工作。