1# 算法总论
1.1 ##数学思维
1.1.1 ###分类讨论
1.1.2 ###特例分析
1.1.3 ###数列的递推公式
1.2 ##数学归纳法
1.2.1 ###自顶向下的反向归纳
- 当n=1时,可以解决。
- 当n=k时,可以分解为n=k-1 加上1来解决,由此不断分解直至n=1。
则任意值都可以解决。
1.2.2 ###自底向上的归纳法 - 当n=1时,可以解决
- 当n=2时,可以分解为n=1 加上1来解决
- 当n=3时,可以分解为n=2 加上1来解决
- …
- n=k时,可以基于n=k-1来解决
1.3 ##按解问题的特征,暴力循环。
1.4 ##利用递归。
1.5 ##利用数据结构,比如队列、栈
结构化认识问题的过程
1.6 ##从结果认知问题
1.6.1 ###最大子序和
从结果认知问题。
假设序列中至少存在正数。
最大子序,必然有多个子序。每个子序列,肯定是从正数开始。然后,不断延伸,和小于0时,停止延伸。在延伸的过程中可以产生当前序列的最大和。