算法第四章作业

贪心算法的理解:贪心算法通过一系列的选择来得到问题的解。它所做的每一个选择都是当前状态下局部最好选择,贪心算法更简单,解题效率也更高,在许多问题中它都能给出整体最优解。

汽车加油问题贪心选择性质:汽车一次加油所能前进的里程数是一定的,且每次给汽车加油都能加满即刷新可走里程数,而汽车从第一个加油站出发,在某个加油站停靠,最终到达最后一个加油站。而想要加最少次数的油,我认为,应该将每次所加的油尽可能用尽,这样就能保证一次加油就能走更远的里程数,即经过更多的加油站,能使剩余加油站数目更少,剩余加油的次数就越少。所以用贪心算法做这道题时,每次都尽可能将可走公里数耗尽。

具体代码为:

int num = 0;
for(int j = 0,sum = 0;j <= k;j++){
sum = sum + a[j];
if(sum > n){
num++;
sum = a[j];
}
}

本章学习遇到的问题和结对情况:本章由于思路较动态规划更为简单,所以在学习的时候,虽然遇到了不少困难,例如理解上的做题上的困难,但都能够通过查找资料来学会解决问题的方法;我与组员吴梓轩同学,在写作业过程中也遇到了许多卡壳的地方,比如第一题题目有点看不懂,但最后在讨论思路与上网求解之后,我们还是解决了问题,并理解了思路。

posted on 2018-12-02 13:19  李鉴涛  阅读(96)  评论(0编辑  收藏  举报

导航