数学
基础思想
余数
- 特性:整数没有边界,余数总是在一个固定的范围内
同余定理:两个整数a和b,如果它们除以正整数m得到的余数相等,我们就可以说,a和b对于模m同余。同余定理其实就是用来分类的。
求余就是一种哈希
迭代法
不断地用旧的变量值,递推计算新的变量值
基本步骤:
- 确定用于选代的变量
- 建立迭代变量之间的递推关系
- 控制迭代的过程
数学归纳法
用来证明任意一个给定的情形都是正确的
和使用迭代法的计算相比,数学归纳法最大的特点就在于归纳二字。它已经总结出了规律。只要我们能够证明这个规律是正确的,就没有必要进行逐步的推算
- 证明基本情况(通常是 n=1 的时候)是否成立
- 假设 n=k−1 成立,再证明 n=k 也是成立的(k 为任意大于 1 的自然数)
递归
递归和循环其实都是迭代法的实现,而且在某些场合下,它们的实现是可以相互转化的
递归的核心思想和数学归纳法类似,并更具有广泛性:
- 一个当前所采取的步骤
- 另外一个更简单的子问题
分而治之 的思想需要使用递归来实现
排列
从n个不同的元素中取出m (1<=m<=n) 个不同的元素,按照一定的顺序排成一列,这个过程就叫排列。当m=n的时候,这就是全排列。
组合
组合是指,从n个不同元素中取出m (1<=m<=n) 个不同的元素。所有m取值的组合之全集合,我们可以叫作全组合。