思路:
确定解的集合 ![](https://i-blog.csdnimg.cn/blog_migrate/2864ba24503c2b1ff69741bc2a41410b.png)
确定组织方法(遍历方法
确定界定函数
排除掉一些多余操作,杀死节点-终止本趟遍历
进行遍历回溯--> 两种情况结束「 已经找到最优解/所有节点遍历完成
小结
需求空间都为O(n)----最大一趟所需空间 ,而不是保存所有解
练习:
20.1/2:
注意: 有几个选择就有几个孩子 「 如 背包问题只有放或不放两张选择,所以是完全树
3
每一个球代表一个顶点,然后树排列回溯即可
总结
1 背包问题
2 子集之和(分割问题
3 最大完备子图(最大独立集
最大完备子图:
最大独立集:
问题转换:
回溯方法:
与背包问题相似,都是用子集🌲
4 电路板排布
end