底向上。
10.部分背包问题适用于__贪心算法__算法求解、而0-1背包问题适用于__
动态规划算法___算法求解。
1. 算法是满足输入、输出、确定性和有限性等四个性
质的指令序列。
2. 算法复杂性的高低体现在运行该算法所需的计算机资源的多少上,计算
机的资源最重要的是时间和空间(即存储器),因此算法的复杂性有时间复杂性和空间复杂性之分。
3.与分治法类似,动态规划算法的基本思想是__将待求解问题分解为若干
个子问题__,先求解__子问题_,然后从这些解得到原问题的解。与分治法不同的是,适合用动态规划算法求解的问题,经分解得到的子问题往往不是__互相独立__的。
4. Java语言的类(class)体现了抽象数据类型(ADT)的思想,一般由4个
部分组成:类名、数据成员、方法和访问修饰。
5. 抽象数据类型的英文简称是 ADT ,它是算法的一个 __数据模型_
连同定义在该模型上并作为算法构件的一组__运算__ 。
6. O(f)+O(g)= O(f+g)__,O(f)O(g)= O(fg) 。
7. 分治法的设计思想是,将一个难以直接解决的大问题,分割成一些规模
__较小__的相同问题 , 以便各个击破,____分而治之___。
8. 动态规划算法的第一步通常是刻画最优解的结构。当问题的最优解包含
了其___子问题___的最优解时,称该问题具有最优子结构性质。
9. 动态规划算法与贪心算法的主要区别是__贪心选择性质__性质。
10.表示最优前缀码的二叉树总是一颗完全二叉树,即树中任一个结
点都有两个儿子结点。
二、简答题(每小题10分,共计40分)
1. 如果只需要求解问题的最优值,动态规划算法步骤是什么?如果需要构造最优解,则还需要加上什么步骤?
如果只需要求解问题的最优值,动态规划算法步骤如下: