算法导论笔记(五)
来源:互联网 发布:ubuntu wine 1.9 编辑:程序博客网 时间:2024/05/17 08:53
12章:超越算法能力的极限
12.1回溯法
12.1.1八皇后问题:
皇后既不可以放在同一行也不可以放在同一列甚至都不可以放在同一对角线上面
回溯法的应用:空棋盘,逐行放置。第一个放置下后,寻找第二行的皇后位置,然后寻找第三行皇后位置...直到寻找完所有皇后位置并且满足条件为止,如果走到某一步找不到了就回溯到上一步找另外一种情况,能放置所有皇后的即为解
12.1.2哈密顿回路
深度遍历,按照字母的顺序,路走不回原点/路无法经过所有的点的路都是死胡同,回溯到最近的有分支的点,执行另外一种情况
12.1.3子集 和问题
初始为0,包含/不包含,初始均为包含,深度,一条路走到黑,子集和等于目标值则停止否则回溯,直到得到所有的情况
12.2分支界限法
12.2.1分配问题
把所有任务下界限计算出来(最小值)作为初始值
然后从第一个人开始分配任务,每一个任务作为一个分支,重新计算下界限,选择最小的下界限的值作为选择
下一个值从n-1个任务中挑选,同样计算下界限,选择最小的
直到为1的时候,停止即为最佳
12.2.2背包问题
对每个物品的价值和他对应的质量作比求得性价比
计算ub = v(当前价值) + (W-w)(vi+1/wi+1)
W剩余称重量,w选中物品的重量,vi+1/wi+1 取最大的性价比
超出则不可行,否则重新计算ub,区最大的ub,执行下一次计算
12.2.3旅行商问题
对每个节点和相邻节点最近的两条边求和
lb = 每个节点的两条最短边的和/2向上取整
选择不同路径计算lb使得lbmin
然后重复执行下届lb最小即可
阅读全文
0 0
- 算法导论笔记(五)
- 算法导论学习笔记(五):快速排序
- 算法导论(五)——树
- 算法导论笔记(第一章)
- 算法导论笔记(1)
- 笔记----算法导论(一)
- 《算法导论》笔记(一)
- 算法导论(1) 笔记
- 算法导论笔记(二)
- 算法导论笔记(三)
- 算法导论笔记(四)
- 算法导论笔记(四)
- 算法导论学习笔记之五--同时得到最大和最小值复杂度3(n/2)
- 算法导论学习笔记(五)计算几何之寻找凸包
- 算法导论学习笔记(五)计算机几何之最近点对
- 算法导论学习笔记(五)计算几何之最远点对
- 算法导论笔记(五) :基数排序与C++实现
- 计数排序—《算法导论》学习笔记之五
- Hie with the Pie (状态dp)
- SharedPreferences记住信息
- 会话技术-cookie入门(十五)
- 人工智能软件工程师软件清单
- vue 中 滚动条始终定位在底部
- 算法导论笔记(五)
- mabatis中resultMap中的映射小问题
- SpringMVC之数据回显
- Namenode HA原理以及配置
- 调用相册,相机
- python实现链表的深度优先遍历
- RecyclerView切换布局(列表→网格)
- 再一遍的执行力
- [机器学习]集成学习简单投票法概率