- 293
- 0
- 约1.33千字
- 约 82页
- 2020-08-24 发布于福建
- 举报
第15章算法设计技术
介绍通用的算法设计模式
枚举法
贪婪法
分而治之法
动态规划
回溯法
随机算法
枚举法
枚举法适合于解的候选者是有限、可枚举
的场合。
枚举法就是对可能是解的众多候选者按某
种顺序进行逐一枚举和检验,从中找出符
要求的候选解作为问题的解。
基于枚举法的算法一般都比较直观,容易
理解。但由于要检查所有的候选解,因此
时间性能较差
枚举法实例
用50元钱买了三种水果:西瓜、苹果和
桔子。各种水果加起来一共100个。假如,
西瓜5元一个,苹果1元一个,桔子1元3
个,设计一算法输出每种水果各买了几
约束条件
三种水果一共100个;
买三种水果一共花了50元。
如果西瓜有 mellon个,苹果有 apple个,桔
子有 orange个,那么:
mellon+ apple+ orange等于100
5* mellon+1* apple+ orange/3等于50
直观的枚举
列出所有的情况,检查是否满足两个约束条件
For(mellon= 1, mellon 99; + mellon)
For(apple= 1, apple 99;+apple)
For (orange l; orange 99; orange
If( mellon+ apple+ orange等于100并且
5*meon+1* apple+ orange/3等于50)
输出此方案;
改进的
原创力文档

文档评论(0)