中国地图四色染色问题
中国地图四色染色问题
问题描述
将中国地图用四种不同的颜色红、蓝、绿、黄来染色,要求相邻的省份染色不同,
问题分析
本文将中国地图的34个省、直辖市、自治区、特别行政区、、、行政区则问题转化为图论中的染色问题。由于海南、省不任何省份相邻,如果除海南、外如果n种染色方法,加上海南和台湾省后,4*4*n种染色方法。考虑除海南和台湾后的32的染色方法。地图染色方法
采用分开和台湾省的分析方法,的原因是除海南和台湾后的32,组成一个联通图,海南省和台湾省不和任何其它省份邻接。另一方面,建立一个联通图模型后,染色问题用深度优先遍历算法DFS,广度算法BFS解决,该方法的时间复杂度较高,暴力法,考虑两个省份可以减少计算机处理此问题的时间。采用DFS来解决这个染色问题。
3.1 简介
算法图的一种的深度遍历算法,即按照的地方遍历一个图,到一个分支的尽头,返回到最近一个未被遍历的结点,深度遍历。
的具体步骤可为下:
所有结点为“未”标记。
起始结点,标记为“访问”标记
始结点入栈
若栈为空,;若栈不为空,栈顶元素,该元素存在未被访问的顶点,输出一个邻接顶点,置为“访问”状态,;,元素退出栈顶。
3.2 中的DFS算法设计我们先对结点染色,用从该结点出发,遍历该图,的下一结点颜色染为与之相邻的结点不同的颜色即可。该结点无法染色则回到上一个结点重新染色,所有的结点都被染色即可。统计染色种数。</