022-3着色问题-回溯法-《算法设计技巧与分析》M.H.A学习笔记
来源:互联网 发布:excel对比2张表的数据 编辑:程序博客网 时间:2024/03/29 19:53
一个无向图G,用三种颜色给顶点着色,使得邻接的顶点颜色不相同。
我们用回溯法来做,可以得到一个三叉树作为搜索树。
这是一次dfs的过程,每一层表示一个节点,每一条路径表示一种颜色选择,当然这其中会遇到一些不合法的着色方案,这时我们会标记节点为死结点并不再向下搜索,回溯到父节点。
递归:
伪代码:
迭代:
两层while循环,内层循环实现前进,外层循环实现回溯。
伪代码:
算法分析:
最坏的情况下搜索树生成O(3n)个节点,对每个节点,检查是否合法需要O(n)。
总的时间复杂度为O(n3n)。
0 0
- 022-3着色问题-回溯法-《算法设计技巧与分析》M.H.A学习笔记
- 023-8皇后问题-回溯法-《算法设计技巧与分析》M.H.A学习笔记
- 021-回溯法与深搜的关系-《算法设计技巧与分析》M.H.A学习笔记
- 014-背包问题-动态规划-《算法设计技巧与分析》M.H.A学习笔记
- 010-最近点对问题-分治法-《算法设计技巧与分析》M.H.A学习笔记
- 005-二分搜索-分治法-《算法设计技巧与分析》M.H.A学习笔记
- 008-大整数乘法-分治法-《算法设计技巧与分析》M.H.A学习笔记
- 009-矩阵乘法-分治法-《算法设计技巧与分析》M.H.A学习笔记
- 013--Floyd算法-动态规划-《算法设计技巧与分析》M.H.A学习笔记
- 015-Dijkstra算法-贪心-《算法设计技巧与分析》M.H.A学习笔记
- 016-kruskal算法-贪心-《算法设计技巧与分析》M.H.A学习笔记
- 017-Prim算法-贪心-《算法设计技巧与分析》M.H.A学习笔记
- 001-整数快速幂-归纳法-《算法设计技巧与分析》M.H.A学习笔记
- 003-生成排列-归纳法-《算法设计技巧与分析》M.H.A学习笔记
- 004-寻找多数元素-归纳法-《算法设计技巧与分析》M.H.A学习笔记
- 012-矩阵链相乘-动态规划-《算法设计技巧与分析》M.H.A学习笔记
- 018-Huffman树-贪心-《算法设计技巧与分析》M.H.A学习笔记
- 019-dfs.bfs-图的遍历-《算法设计技巧与分析》M.H.A学习笔记
- (Unknown verification type [*] in stack map frame)
- [从头读历史] 第276节 诗经 陈风
- 在WinForm中使用GDI+编写游戏--贪吃蛇
- Linux下MongoDB(3.0)的安装和配置用户
- cmd /c和cmd /k
- 022-3着色问题-回溯法-《算法设计技巧与分析》M.H.A学习笔记
- 用DIV做文本编辑器
- visual stdio 插件,快速插入预设代码
- 牛客网刷题--剑指offer(重建二叉树)
- Android跨进程通信之ContentProvider
- Nginx安装及其配置
- 从一行JPA代码说起
- App异常自动重启
- java.lang.numberformatexception