所谓种子填充法,就是常见的基本算法floodfill的中文名字。就像一滴墨水浸到宣纸之上,渐渐扩散。使用两种基本搜索——DFS和BFS可以实现这种算法。下面我通过数据结构的层面来介绍一下DFS和BFS的实现。
首先来介绍“树”。计算机中的树和现实生活中的树相反——它的跟在上面,叶子在下面。相连的连个节点互为父子,同一高度的节点互为兄弟。如图:
比如说:2,3,4节点互为兄弟;5,6节点是2节点的儿子;7节点是10,11节点的父亲。
我们可以把DFS和BFS分别看作在这棵树上的遍历(什么是遍历请自行解决)。那么DFS所经过的路径和BFS所经过的路径就如下图所示: