1、可计算理论研究:计算模型、可计算问题/不可计算问题、计算模型的等价性--图灵/church命题
2、计算复杂性理论是在给定的计算模型下研究问题的复杂性,包括:固有复杂性、上界、下界、平均、复杂性问题的分类(P=NP?)、抽象复杂性研究
3、算法正确性:对每一个输入都最终停止,并产生正确的输出
4、算法的复杂性
目的:预测算法对不同输入所需资源量
复杂性测度:时间、空间、I/O等
用途:为求解一个问题选择最佳算法、设备等
需要的数学基础:离散数学、组合数学、概率论、代数等
需要的数学能力:建立算法复杂性的数学模型、数学模型化简
5、最坏复杂性、最小复杂性、平均复杂性
6、算法分析的模型:随机访问模型(单处理机、串行执行、无并发;基本数据类型;基本操作)、并行多处理机模型
7、算法设计模式:暴力搜索、分治法、图搜索与枚举(分支界限、回溯)、随机化方法等
8、算法实现方法:递归与迭代、顺行、并行与分布式、确定性与非确定性、近似求解与精确求解、量子算法等
9、最优化设计方法:线性规划、动态规划、贪心法、启发式方法