Flood fill

✍ dations ◷ 2025-10-22 14:39:12 #计算机图形学,算法

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

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

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

相关

  • 集合名词集合名词(英语:Collective noun)是语言学上的一个专有名词,意指一种可用来指称一群对象的字,而这些对象,可以是人、动物、或是一群概念等事物。举例而言,在英语中,“一群狮子”可称
  • 榆属榆树,是榆科下榆属植物的统称,主要在北半球的温带地区生长。一般高约25米,树皮粗糙。具高度实用、药用及食用价值。榆树的叶呈椭圆形或椭圆状波针形,叶长2-8厘米、宽1.5-2.5厘米
  • 旗山医院卫生福利部旗山医院,简称 旗山医院,为一间直属中华民国卫生福利部的医院。位于高雄市旗山区。
  • ɯ闭后不圆唇元音为一元音。此音的国际音标符号是变形的拉丁字母 ⟨ɯ⟩(即是倒转的m)。在普通话中,拼音e有时会通过辅音化的加上实现,如拼音的 he 在语音形式上可能为 。 类似于
  • 铜合金列表铜合金是以铜为主的合金,它们能有效地抵抗腐蚀。最多人知道的种类是青铜(铜为主要,锡为次要)和黄铜(铜为主要,锌为次要)。在古代欧洲“青铜”和“黄铜”术语常混用,所以现在欧洲(尤其
  • 南开大学临床教学医院南开大学医学院于1988年筹办,1993年经原国家教委批准正式成立,现位于南开大学历史最久远的建筑思源堂内。2017年10月,南开大学与天津市第一中心医院、天津市第三中心医院、天津
  • 实收资本实收资本(英语:Paid in capital、Contributed capital),即所谓的发行资本(又称已发行资本),指的是股东实际将现金或实物投入公司的资本额。实收资本 = A + B A = 股份资本(股本 = 普
  • 溶胶溶胶(sol)又称胶体溶液,是在分散体系中保持固体物质不沉淀的胶体。不断深入的研究表明,溶胶不是一种物质而是一种“状态”。此概念常与“凝胶”相对(参见溶胶凝胶)。溶胶的分散介
  • 夏尔-欧仁·德劳奈夏尔-欧仁·德劳奈(Charles-Eugène Delaunay)是一位法国天文学家暨数学家。他对月球运动的研究对促进行星运动及数学理论的发展起到了非常重要的作用。1816年4月9日,他出生在
  • MythTVMythTV是用来把Linux电脑变成数字录影机、HTPC的软件,而且采用了GNU通用公共许可证。MythTV计划由Isaac Richards在2002年4月开始,Richards解释了他开始计划的原因:MythTV的开