举例说明,动态规划和贪心算法的区别
贪心算法是种策略,思想。
。
。
它并没有固定的模式比如最简单的背包问题用贪心的思想去做,就可能有很多种方法性价比最高的、价值最高的、重量最轻的而你没法确保你所选择的贪心策略对所有的情况都是绝对最优的动态规划的思想是分治+解决贪心算法的证明方法
贪心算法的基本思路如下:
1.建立数学模型来描述问题。
2.把求解的问题分成若干个子问题。
3.对每一子问题求解,得到子问题的局部最优解。
4.把子问题的解局部最优解合成原来解问题的一个解。
----------------------------------------------
其实归纳起来也就一个类。
其他的都是分支求一个算法(贪心算法)
首先,无所谓哪里密集哪里不密集的说法,这是人为的区分,需要首先遍历全部格子才能确定,是最慢的算法,全部遍历过了就可以得出最优的路线了.
既然用贪心算法,为了思考方便,可以假设棋盘无穷大,算法的目的是判断下一步该往右走还是往下走,思想如下:
判断当前格子右、下两个相邻的格子是否有金块,情形如下:
1)如果一个有一个没有,则往有金块的格子走
2)如果都没有或都有,则需要判断往哪个方向走能更快的拾到下一个金块,方法如下:
让机器人假设地各往两个方向走一步,然后对当前格子作判断情形如下:
A)一个格子继续走能拾到金块,另一个不能,则上一步往该格子走
B)如果仍旧都有或都没有,重复2)直到找到符合A)的情形。
假设棋盘是N*N个格子,则贪心算法最坏的情形是要遍历整个棋盘,比如只有第一个格子有金块时,就需要遍历整个棋盘才能确定走法。
最好的情形也需要遍历4*N个格子。
时间复杂度上来算的话,应该是O(nLogn)贪心算法编程
复杂度自己推吧,很简单
#include <stdio.h>
void maxmoney(unsigned int cost, int* a);
int main()
{
unsigned int cost, i, j;
int a[6]={0,0,0,0,0,0};
printf("%s","Cost: ");
scanf("%d",&cost);
maxmoney(cost, a);
printf("
");
printf("100 yuan : %d
",a[0]);
printf("50 yuan : %d
",a[1]);
printf("10 yuan : %d
",a[2]);
printf("5 yuan : %d
",a[3]);
printf("2 yuan : %d
",a[4]);
printf("1 yuan : %d
",a[5]);
return 0;
}
void maxmoney(unsigned int cost, int* a)
{
if (cost < 2){
a[5] += cost;
}else if (cost >= 100){
a[0]++;
cost = cost - 100;
maxmoney(cost, a);
}else if (cost >= 50){
a[1]++;
cost = cost - 50;
maxmoney(cost, a);
}else if (cost >= 10){
a[2]++;
cost = cost - 10;
maxmoney(cost,a);
}else if (cost >= 5){
a[3]++;
cost = cost - 5;
maxmoney(cost, a);
}else if (cost >= 2){
a[4]++;
cost = cost - 2;
maxmoney(cost, a);
}
}如何用贪心算法求解tsp问题
最快回答那个不懂别乱说,别误人子弟。
这题标准的贪心算法,甚至很多时候被当做贪心例题
要求平均等待时间,那么就得用 总等待时间 / 人数
所以只用关心总等待时间,
如果数据大的在前面,那么后面必然都要加一次这个时间,所以按从小到大排。
给你写了个,自己看吧。
#include "stdafx.h"
#include
#include
#include
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int n;
float arr[105];
cin >> n;
for(int i = 0; i < n; ++i)
cin >> arr[i];
sort(arr, arr+n);
int tnow = 0;
int tmax = 0;
for(int i = 0; i < n; ++i)
{
tmax += tnow;
tnow += arr[i];
}
for(int i = 0; i < n; ++i)
{
printf("%0.2f ", arr[i]);
}
cout << endl;
printf("%0.2f
",tmax / (float)n);
return 0;
}
星梦云怎么样?星梦云好不好,资质齐全,IDC/ISP均有,从星梦云这边租的服务器均可以备案,属于一手资源,高防机柜、大带宽、高防IP业务,一手整C IP段,四川电信,星梦云专注四川高防服务器,成都服务器,雅安服务器 。官方网站:点击访问星梦云官网活动方案:1、成都电信年中活动机(封锁UDP,不可解封):机房CPU内存硬盘带宽IP防护流量原价活动价开通方式成都电信优化线路4vCPU4G40G+50...
NameCheap商家如今发布促销活动也是有不小套路的,比如会在提前一周+的时间告诉你他们未来的活,比如这次2021年的首次活动就有在一周之前看到,但是这不等到他们中午一点左右的时候才有正式开始,而且我确实是有需要注册域名,等着看看是否有真的折扣,但是实际上.COM域名力度也就一般需要51元左右,其他地方也就55元左右。当然,这次新年的首次活动不管如何肯定是比平时便宜一点点的。有新注册域名、企业域...
近日华纳云商家正式上线了美国服务器产品,这次美国机房上线的产品包括美国云服务器、美国独立服务器、美国高防御服务器以及美国高防云服务器等产品,新产品上线华纳云推出了史上优惠力度最高的特价优惠活动,美国云服务器低至3折,1核心1G内存5Mbps带宽低至24元/月,20G ddos高防御服务器低至688元/月,年付周期再送2个月、两年送4个月、三年送6个月,终身续费同价,有需要的朋友可以关注一下。华纳云...
贪心算法为你推荐
我的工作台我的世界手机版如何制造工作台科达视频会议科达视频会议系统是否支持指挥调度?潦草字怎么写潦草字蜜桃最新网址人性最新地址本色。深圳市气象台今天深圳的天气预报智慧充电桩智慧充电LED灯怎么不亮健康门户网站中国健康安全网是什么胶南建管网怎样在胶南信息港注册账号?华为开发者联盟华为开发者联盟10月27日的深圳沙龙如何报名呢?四川大学教务系统四川大学教务处的含义及作用
域名商 免费静态空间 我爱水煮鱼 免费活动 空间技术网 1美金 卡巴斯基破解版 如何注册阿里云邮箱 cloudlink 万网主机管理 外贸空间 电信网络测速器 东莞主机托管 php服务器 免费网络空间 上海联通 贵州电信 godaddy中文 标准机柜 认证机构 更多