- 1、本文档共51页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
贪心算法例子
Chapter 5 贪心法实例; 顾名思义,贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。
当然,希望贪心算法得到的最终结果也是整体最优的。虽然贪心算法不能对所有问题都得到整体最优解,但对许多问题它能产生整体最优解。如单源最短路经问题,最小生成树问题等。在一些情况下,即使贪心算法不能得到整体最优解,其最终结果却是最优解的很好近似。;活动安排问题;活动安排问题;活动安排问题;活动安排问题;活动安排问题;活动安排问题;活动安排问题;贪心算法的基本要素;贪心算法的基本要素;贪心算法的基本要素;贪心算法的基本要素;贪心算法的基本要素;贪心算法的基本要素;贪心算法的基本要素;贪心算法的基本要素;贪心算法的基本要素;删数问题;算法分析;1;程序;quee *init()
{
char str[250];
quee *n;
node *tmp;
node * tail;
n=new quee;
n-first=NULL;
cinstr;
cins;
int i=0;
while(str[i]!=\0)
{
tmp=new node;
tmp-c=str[i];
tmp-next=NULL;
if(n-first==NULL)
{
n-first=tmp;
tail=tmp;
}
else
{
tail-next=tmp;
tail=tmp;
}
i++;
}
return n;
};;void del(quee *start, node *p)
{
node *x;
x=start-first;
if (x-next)
{
while(x-next!=p) x=x-next;
}
x-next=p-next;
delete p;
};;void print(quee *start)
{
node *tmp;
if(start-first==NULL) return;
tmp=start-first;
while(tmp)
{
printf( %c,tmp-c);
tmp=tmp-next;
}
printf(\n);
};;node *find(quee *start)
{
node *tmp;
tmp=start-first;
while(tmp-next!=NULL tmp-c=tmp-next-c)
tmp=tmp-next;
return tmp;
};
;int main(int argc, char* argv[])
{
quee *n;
node *p;
n=init();
while(s!=0)
{
p=find(n);
del(n,p);
s--;
}
print(n);
return 0;
}
;POJ 1017;Packets;Packets;Packets;Packets;;Packets;Packets;Packets;Packets;Packets;Packets; 6) 放 1 * 1 并输出结果
if( b1 c1 ) {
nTotal += ( b1 - c1 ) / 36;
if(( b1 - c1) % 36 )
nTotal ++;
}
cout nTotal endl;;#include iostream.h
int Contain1[4] = { 0, 7, 6, 5 };
int Contain2[4] = { 0, 5, 3, 1 };
int nTotal;
void main() {
int b1,b2,b3,b4,b5,b6;
for(;;) {
cinb1b2b3b4b5b6;
if(b1==0 b2==0 b3==0 b4==0 b5==0 b6==0)
break;
nTotal = b6 + b5 + b4 + b3/ 4;
if( b3 % 4) nTotal ++;
int c1; //当前能放 1*1 木块的空格数目
c1 = b5 * 11; //每个放5*5的箱子,还能放11个 1 * 1 的木块
c1 += Contain1[b3 % 4] ; //加上3*3箱子里能放的数目
int c2; //当前能放 2*2 木块的空格数目(先不考虑将1*1的木块放在 // 2*2的空格里)
c2 = b4 * 5; //每个放5*4的箱子,还能放5个 2 * 2 的木
您可能关注的文档
- 螺纹规定画法.ppt
- 心理测量学psy testing.ppt
- 20世纪最经典产品设计50款.ppt
- 对比论证模式的训练指导及范文(对照式__上课用).ppt
- 肖克义 教学活动设计.ppt
- 廖处:高校财务制度培训.ppt
- 我们身边的道德与法律作业.ppt
- 管理学考核方式说明.ppt
- 一次函数经典题型.ppt
- 经典培训PPT.ppt
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
文档评论(0)