首页 > 编程语言 > 详细

算法第四章作业

时间:2018-12-01 21:01:25      阅读:198      评论:0      收藏:0      [点我收藏+]

一:对贪心算法的理解

特点:

1.贪心算法的每一步都有一组选择,贪心算法总是做出在当前看来是最好的选择

2.贪心算法并不代表着整体最优,所作的选择只是某种意义的局部最优

3.贪心算法希望通过做出局部最优选择达到全局最优。但贪心算法并不能保证最终结果为最优

所需要的条件:

贪心选择性质

最优子结构性质

 

二:汽车加油问题

思想:不到迫不得已不加油(贪心选择策略

#include<iostream>
#include <stdio.h>
using namespace std;
void greedy(int d[],int n,int k) {//贪心算法
int num = 0;
for(int i = 0;i <= k;i++) {
if(d[i] > n) { //若有路程大于汽车加满油所能行走的路程
cout<<"No Solution!";
return;
}
}
for(int i = 0,s = 0;i <= k;i++) {
s += d[i];
if(s > n) {
num++; //需要加油了
s = d[i];
}
}
cout<<num<<endl;
}


int main() {
int i,n,k;
int d[1000];
cin>>n>>k;
for(i = 0;i <= k;i++)
cin>>d[i];
greedy(d,n,k);
}

3.本章学习过程中,比前两章的学习略为顺利一点,线下讨论时也没什么大问题。但在上机时,第二道题困扰了我和我队友很久,最后在大家一起思考反复验证下,最终成功!感谢队友!

 

算法第四章作业

原文:https://www.cnblogs.com/sisilovestudy/p/10050849.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!