- 2
- 0
- 约2.67千字
- 约 5页
- 2016-04-29 发布于浙江
- 举报
第0章:
Fibonacci数列:数列中每个数都是其两个直接前项的和。
用递归来表示第一项和第二项为0和1的Fibonacci数列:
function fib1(n)
if n=0;return 0
if n=1;return 1
return fib1(n-1)+fib1(n-2)
大O符号:
定义:假设当算法输入规模是n时,两个算法的运行时间分别为f(n)和g(n)。
令f(n)和g(n)均为从正整数到正实数的函数。如果存在一个常数c>0,使得f(n)≤c·g(n),则我们称f=O(g)(这意味着“f增长的速度慢于g”)。
简化算法运行时间的函数表示:
常系数可以忽略:14n2可以变成n2。
当a>b时,n^a支配n^b:例如,n2支配n。
任何指数项支配任何多项式项:3^n支配n^5(它甚至支配2^n)。
同理,任何多项式项支配对数项:n支配(log n)^3。进一步的,例如,n2支配n· long n。
第1章:
模运算:X≡Y(mod N) N 整除 (X-Y)
替代准则:如果有X≡X′(mod N)和y≡y′(mod N)成立,则有以下两式成立:
x + y ≡ x′ +y′(mod N)和xy ≡x′y′(mod N)。
模运算使用结合律、交换律和分配律仍然成立。
利用替代准则和运算律可以简化模N操作的余数。比如:
2^345≡(2^5)^69≡32^
原创力文档

文档评论(0)