Flood fill

✍ dations ◷ 2025-12-03 07:52:13 #计算机图形学,算法

Flood fill算法是从一个区域中提取若干个连通的点与其他相邻区域区分开(或分别染成不同颜色)的经典算法。因为其思路类似洪水从一个区域扩散到所有能到达的区域而得名。在GNU Go和扫雷中,Flood Fill算法被用来计算需要被清除的区域。

Flood fill算法接受三个参数:起始节点,目标颜色和替换颜色。算法遍历所有的节点以寻找和起始节点相连的节点(通过一条目标颜色的路径相连),然后改变他们的颜色为替换颜色。目前有许多flood-fill算法的构建方式,但是他们都显示或隐式的使用队列或者栈根据我们是否考虑当前节点对角线方向的节点,算法分为四路算法(不考虑对角线方向的节点)和八路算法(考虑对角线方向的节点)。

最简单的实现方法是采用深度优先搜索的递归方法,也可以采用广度优先搜索的迭代来实现。

相关

  • 同义词同义词(synonym)或者更学术性的称呼同义异形是世界上各种语言都存在的一种现象。它指的是表达的意义相同或相近,但是表达形式不同的词汇。例如厕所和“茅房”就是不同词汇表示
  • 神经衰弱神经衰弱是一个在20世纪初受当时的西方医学影响而传入中国的术语,用以表示人体神经实际上的机械性衰弱。其英语“Neurasthenia”在早至1829年就有使用,且它不是后来的神经病学
  • 开福区开福区为湖南省长沙市辖区,位于长沙城区中东部,成立于1996年7月10日。辖境北与望城区接壤,东与长沙县为邻,南部与芙蓉区和天心区为界,西面隔湘江与望城区和岳麓区相望。辖域总面
  • 迈锡尼文明迈锡尼文明(英语:Mycenaean Greece 法文: Civilisation mycénne,前1600年 – 前1100年) 是希腊青铜时代晚期的文明,它由伯罗奔尼撒半岛的迈锡尼城而得名。这是古希腊青铜器时代
  • DNA的机械性质核酸结构(英语:Nucleic acid structure)是指如DNA与RNA的核酸生物分子结构(英语:Biomolecular structure)。从化学角度上讲,DNA与RNA是非常相似的。DNA与RNA的结构常分为四个不同水
  • 马丁·克拉普罗特马丁·海因里希·克拉普罗特 (德语:Martin Heinrich Klaproth,1743年12月1日-1817年1月1日),是普鲁士王国的化学家。他是铀(1789年)、锆(1787年)、钛(1795年)、铈(1803年)等元素的发现者。
  • 山东昭子山东昭子(1942年5月11日-),日本女性政治家,自由民主党党员。出身于东京都世田谷区。共八次当选参议院议员,是日本宪政史上当选次数最多的参议员。历任科学技术厅长官(第46代)、参议
  • 达维德·巴克拉泽达维德·巴克拉泽(或译大卫·巴克拉泽,格鲁吉亚语:დავით ბაქრაძე;1972年7月1日-)是一位格鲁吉亚政治家。在2008年6月7日至2012年10月21日期间,他曾经担任格鲁吉亚国会
  • 李哲承 (1922年)李哲承(韩语:이철승,1922年5月15日-2016年2月27日),号素石(소석), 本贯全义李氏,全罗北道全州人,韩国政治家、民主运动人士和学生政治领袖。他是韩国历史上的传奇人物。1949年–高丽大
  • 约翰·霍华德·德林杰约翰·霍华德·德林杰(英语:John Howard Dellinger, 1886年7月3日-1962年12月28日)是发现了太阳耀斑导致短波无线电信号衰减的美国著名电信工程师。1886年7月3日出生在美国俄亥