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