- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、问答题(30分)。
1.什么是最坏情况时间复杂性?什么是平均情况时间复杂性?
2.什么是递归算法?什么是递归函数?
递归算法:直接或间接地调用自身的算法称为递归算法
递归函数:用函数自身给出定义的函数称为递归函数
递归函数的二要素是什么?
边界条件与递归方程是递归函数的二个要素,递归函数只有具备了这两个要素,才能在有限次计算后得出结果。
分治法的设计思想是什么?
分治法的设计思想是,将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之
什么叫问题的最优子结构性质?
矩阵连乘计算次序问题的最优解包含着其子问题的最优解。这种性质称为最优子结构性质。问题的最优子结构性质是该问题可用动态规划算法求解的显著特征
动态规划基本步骤是什么?
1.找出最优解的性质,并刻划其结构特征
2.递归地定义最优值
3.??自底向上的方式计算出最优值。
4.根据计算最优值时得到的信息,构造最优解
7.动态规划算法的基本要素是什么?举例说明一些可以用动态规划算法解决的问题。
8.说明分治法与动态规划法的相同点和不同之处?
9.贪心算法的两个重要要素是什么?举例说明一些可以用贪心算法解决的问题。
贪心选择性质和最优子结构性质
最优装载问题可用贪心算法求解。采用重量最轻者先装的贪心选择策略,可产生最优装载问题的最优解。
public static float loading(float c, float [] w, int [] x)
{
int n=w.length;
Element [] d = new Element [n];
for (int i = 0; i n; i++)
d[i] = new Element(w[i],i);
MergeSort.mergeSort(d);
float opt=0;
for (int i = 0; i n; i++) x[i] = 0;
for (int i = 0; i n d[i].w = c; i++) {
x[d[i].i] = 1;
opt+=d[i].w;
c -= d[i].w;
}
return opt;
}
什么叫贪心选择性质?
所谓贪心选择性质是指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到
贪心算法与动态规划算法的的相同点和不同之处?
贪心算法和动态规划算法都要求问题具有最优子结构性质,这是2类算法的一个共同点。
背包问题与0-1背包问题有何区别?
0-1背包问题:给定n种物品和一个背包。物品i的重量是Wi,其价值为Vi,背包的容量为C。应如何选择装入背包的物品,使得装入背包中物品的总价值最大?
背包问题:与0-1背包问题类似,所不同的是在选择物品i装入背包时,可以选择物品i的一部分,而不一定要全部装入背包,1≤i≤n。
这2类问题都具有最优子结构性质,极为相似,但背包问题可以用贪心算法求解,而0-1背包问题却不能用贪心算法求解。
用贪心算法解背包问题的基本步骤:
首先计算每种物品单位重量的价值Vi/Wi,然后,依贪心选择策略,将尽可能多的单位重量价值最高的物品装入背包。若将这种物品全部装入背包后,背包内的物品总重量未超过C,则选择单位重量价值次高的物品并尽可能多地装入背包。依此策略一直地进行下去,直到背包装满为止。
具体算法可描述如下页:
public static float knapsack(float c,float [] w, float [] v,float [] x)
{
int n=v.length;
Element [] d = new Element [n];
for (int i = 0; i n; i++) d[i] = new Element(w[i],v[i],i);
MergeSort.mergeSort(d);
int i;
float opt=0;
for (i=0;in;i++) x[i]=0;
for (i=0;in;i++) {
if (d[i].wc) break;
x[d[i].i]=1;
opt+=d[i].v;
c-=d[i].w;
}
if (in){
x[d[i].i]=c/d[i].w;
opt+=x[d[i]
您可能关注的文档
- 第4次月考古诗文考试复习提纲.doc
- 第4届教学中的互联网搜索教案设计《找春天》徐翠兰.doc
- 第4章 软件测试的分类和方法 (2).doc
- 第4章 外币折算练习及答案.doc
- 第4章化学教学目标设计与案例分析.doc
- 第4章数据分布特征的描述习题.doc
- 第4章思修期末复习题.doc
- 第4章矩阵相似对角化测试题.doc
- 第4章电子表格Excel2003的习题和答案.doc
- 第4章练习题及答案 (2).doc
- 少儿艺术创作培训平台2025年技术发展与应用趋势研究.docx
- 量子计算在2025年量子计算软件平台建设研究报告.docx
- 少儿艺术创作培训平台2025年教育信息化技术应用报告.docx
- 2025年智慧物流运输智能化升级对物流企业成本控制的优化.docx
- 线上职业技能认证平台市场细分与用户需求分析报告.docx
- 基于虚拟现实的沉浸式人工智能教育资源虚拟角色在小学科学教育中的应用研究教学研究课题报告.docx
- 2026届高三物理一轮复习 简谐运动及其图象导学案.doc
- 《保险科技在保险行业数字化转型中的角色与作用》教学研究课题报告.docx
- 《景颇族文化在主题公园景观设计中的传承与创新策略研究》教学研究课题报告.docx
- 金融行业绿色金融报告:绿色信贷与绿色投资的发展现状与趋势.docx
文档评论(0)