算法第四章作业
1.对贪心算法的理解
贪心,顾名思义就是要尽可能拿到最好的,放在算法上看就是得到最好的结果,而这里的“最好的结果”是子问题的,也是暂时的,
就目前而言能够得出的最好的结果,并不需要想动态规划那样考虑整体最优,所以最后得到的结果也不一定是整体最优解。
2.请说明汽车加油问题的贪心选择性质
汽车加油问题要求使沿途加油次数最少,那么我们就得使汽车尽可能地开得远即将油都用完(中途不停车)
首先我们要判断加油站之间的距离是否大于加满油可行驶的公里数,若大于,则无法到达目的地,输出“No Solution!”
for(int i = 0;i <= k;i++) { if(d[i] > n) { cout <<"No Solution!" <<endl; } }
否则,则可达,最后得出最少加油次数num。
for(int i = 0,s = 0;i <= k;i++) { s += d[i]; if(s > n) { num++; s = d[i]; } }
3请说明在本章学习过程中遇到的问题及结对编程的情况
在学习贪心算法及结对编程的过程中,我和队友之间交谈密切,大大加深了我对贪心算法的理解。

浙公网安备 33010602011771号