![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
回溯
myy_cjw
这个作者很懒,什么都没留下…
展开
-
圆排列问题
1.问题圆排列问题:给定n个圆的半径序列,将它们放到矩形框中,各圆与矩形底边相切,求具有最小排列长度的圆排列。2.解析但是不是每个排列都像只有两个圆需要排序时那么简单,当需要排序的圆变多的时候就会形成一个排序问题,此时我们可以这样解决问题。1.计算圆在当前圆排列中的横坐标,由cx^2 = sqrt((r1+r2)2-(r1-r2)2)推导出cx = 2sqrt(r1r2)。2.计算当前圆排列的长度。新增一个变量记录当前最小圆排列长度,以及两个数组分别用于存储所有圆的半径和记录当前圆排列中各圆的圆原创 2020-05-26 20:31:00 · 1724 阅读 · 0 评论 -
节点着色问题
1.问题图的m着色问题。给定无向连通图G和m种颜色,用这些颜色给图的顶点着色,每个顶点一种颜色。如果要求G的每条边的两个顶点着不同颜色。给出所有可能的着色方案;如果不存在,则回答“NO”。2.解析(1)通过回溯的方法,不断的为每一个节点着色,在前面节点都合法的着色之后,开始对当前节点进行着色;(2)这时候枚举可用的m个颜色,通过和前一个节点相邻的节点的颜色对比,来判断这个颜色是否合法;(3)如果找到那么一种颜色使得当前节点能够着色,那么说明m种颜色的方案在当前是可行的。(4)节点每次迭代加1原创 2020-05-26 19:01:54 · 1062 阅读 · 0 评论