算法是指解决问题的⽅法(或过程) ,是若⼲指令的有穷序列
❖与问题相关的性质
输⼊:有零个或多个由外部提供的量作为算法的输⼊,从特定的对象集合中抽取,作为算法开始执⾏前的初始值。
输出:⾄少⼀个,是输⼊的某种函数,是算法计算的结果。
❖与⽅法相关的性质
确定性:组成算法的每条指令是清晰的,⽆歧义的。
有限性:算法中每条指令的执⾏次数是有限的,执⾏每条指令的时间也是有限的。
算法设计策略
❖ 划分后的⼦问题相互独⽴且与原问题相同——分治
❖ 具有最优⼦结构性质和⼦问题重叠性质——动态规划
❖ 具有贪⼼选择性质和最优⼦结构性质——贪⼼
❖ 找出满⾜约束条件的所有解——回溯法
❖ 找出满⾜约束条件的⼀个解或某个⽬标下的最优解——分⽀限界
P类和NP类问题
❖P( Polynomial)类问题是确定性图灵机模型下可在多项式时间内解决的问题类。
❖ NP( Nondeterministic Polynomial)类问题是⾮确定性图灵机模型下可在多项式时间内验证的问题类。