回溯法
Jfightingk
这个作者很懒,什么都没留下…
展开
-
最大团问题【回溯法】
题目:对于给定的无向图,找出他的最大团 分析: 图的一个完全子图就是一个团,所以找最大团,通俗点讲就是在一个无向图中找出一个点数最多的完全图【任意两点之间均有边相邻】 采用回溯法,对于解空间的子集树,只有当前节点和所有已选的顶点都相连,才进入左子树 而当 当前结点加上剩下节点数比最优节点的个数多时 才进入右子树 这样才有价值 #include<iostream> #include<...原创 2019-05-19 15:38:54 · 2955 阅读 · 0 评论 -
图的m着色问题【带分析和注释】
题目:对于给定的无向图G和m种颜色,用这些颜色为图G的各顶点涂色,每个顶点涂一种颜色。是否存在一个方法,使得G中每条边的2个顶点是不同的颜色 分析: 根据题意,所要满足的条件是:用已有的m种颜色,涂图G的各个顶点,并且使得有边相连的顶点有不同的颜色。 利用回溯法,当到达叶子节点,方案数+1,并且输出该方案;没到叶子节点,就将顶点依次涂4种颜色,然后去判断是否满足条件,如果满足进入下一个顶点 注意录...原创 2019-05-19 16:59:20 · 664 阅读 · 1 评论 -
回溯法:圆排列【注释+分析,适合小白】
题目:给定n个大小不等的圆c1,c2,…,cn,现要将这n个圆排进一个矩形框中,且要求各圆与矩形框的底边相切。圆排列问题要求从n个圆的所有排列中找出有最小长度的圆排列。例如,当n=3,且所给的3个圆的半径分别为1,1,2时,这3个圆的最小长度的圆排列如图所示。其最小长度为。 分析: 圆的摆放位置不同【先后顺序不同】,得到的结果可能不同,所以这是一个排列问题,在回溯里面需要添加全排列的代码 要得到...原创 2019-05-19 21:16:16 · 2151 阅读 · 1 评论 -
0-1背包回溯算法【适合小白,带分析+注释】
0-1背包回溯算法【适合小白,带分析+注释】 题目:用回溯算法实现0-1背包,背包的容积为7 装4件物品,物品的价值分别9,10,7,4,物品的重量分别是3,5,2,1,请用回溯法实现背包所能装入的最大价值? 分析: 所谓0-1背包,为了最大的价值,考虑当前物品装或者不装【只有这两种情况,而背包问题可以只装物品的部分】,解空间可以用子集数来表示。 解0-1背包问题的回溯法,与装载问题的回溯法类似,...原创 2019-05-18 17:04:10 · 622 阅读 · 0 评论