八大算法

(内容不断跟新改进)

1、枚举:

 定义:将问题的答案一一列举,然后根据条件判断此答案是否合适,保留合适的,丢弃不合适的。

相关题目:POJ1753、POJ2965

2、递推:

 定义:不断利用已有的信息推导出新的东西。(顺推、逆推)

相关题目:poj2506

3、递归:

 定义:不断调用自身,把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数(或过程)来表示问题的解。需要有明确的结束条件,运行效率低。(最好不用)

相关题目:

4、分治:

 定义:将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相 同。求出子问题的解,就可得到原问题的解。(分解、求解、合并)

相关题目:POJ2524

5、贪心:

定义:从问题的某一初始值出发,while能向给定总目标前进一步,求出可行解的一个接元素,有所有解元素组合成问题的一个可行解。(精确度低)

相关题目:POJ1328、POJ2109、POJ2586

6、回溯(试探):

定义:针对所给问题,定义问题的解空间;确定易于搜索的解空间结构;以深度优先方式搜索解空间,并在搜索过程中用剪枝函数避免无效搜索。(解空间、约束条件、状态树)

7、迭代:

定义:确定迭代变量,建立迭代关系式、对迭代过程进行控制

8、模拟:

定义:根据题目给出的规则对题目的要求的相关过程进行编程模拟。

相关题目:POJ1068、POJ2632、POJ1573、poj2993、POJ2996

转载于:https://www.cnblogs.com/darklights/p/5250864.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值