算法第四章作业

1.对贪心算法的理解

贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,只做出在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。

解题的一般步骤是:

1.建立数学模型来描述问题;

2.把求解的问题分成若干个子问题;

3.对每一子问题求解,得到子问题的局部最优解;

4.把子问题的局部最优解合成原来问题的一个解。

 

2.选择一道作业题目并说明算法满足贪心选择性质

我选择的题目是货币找零

人民币的面值有100、50、20、10、5、2、1元。请你输出找零纸币数最少的方案

输入格式:

两个整数,分别表示付款金额和消费金额

输出格式:

输入找零方案。包含若干行,每行包含两个数字,纸币面额和纸币数量

输入样例:

10 3

输出样例:

在这里给出相应的输出。例如:

5 1

2 1

 

算法思想:每次选择剩余金额下能够找零的最大的面值

说明算法满足贪心选择性质:若每次选择的面值并非当前的最大值,则找零的纸币一定会比选择最大面值的情况的数量多,则得不到局部最优解,从而无法得到最优解的近似解。故选择的算法思想满足贪心选择性质。

3.说明在本章学习过程中遇到的问题及结对编程的情况

遇到的问题:找到最优的贪心策略真的是个玄学的事情

结对编程情况:情况正在往越来越好的方向发展,小组成员共同讨论好思路之后,就可以很顺利地打出代码了,就是贪心策略 有点难想。

 

posted @ 2020-11-15 11:18  L_XIAOTIAN  阅读(69)  评论(0编辑  收藏  举报