跳至內容

Floodfill

出自Taiwan Tongues 台語維基
於 2025年8月23日 (六) 11:47 由 TaiwanTonguesApiRobot留言 | 貢獻 所做的修訂 (從 JSON 檔案批量匯入)

(差異) ←上個修訂 | 已批准修訂 (差異) | 最新修訂 (差異) | 下個修訂→ (差異)

Flood fill 演算法是對一个區域提若干个連通的點佮其他相鄰區域分開(抑是分別染做無仝色)的經典演算法。因為思路類似大水對一个區域湠到所有的能到位得到的區域而且得著名。佇咧 GNU Go 佮踏地雷中,Flood Fill 演算法予人用來計算需要予人清除的區域。

演算法

Flood fill 演算法接受三个參數:開始節點,目標色水佮替換色水。演算法行踏所有的節點以走揣和起頭節點相連紲的節點(通過一條目標色水的路草相連), 閣有改變𪜶的色水替換色水。目前有真濟 flood-fill 演算法的構建方式,猶毋過𪜶攏顯示若是隱式的使用佇列或者疊。根據咱敢是考慮當前節點對角線的方向的節點,演算法分做四路演算法(無考慮對角線的方向的節點)佮八路演算法(考慮對角線的方向的節點)。

用堆疊的交迴實作方法

上簡單的實作的方法是採用深度優先搜揣的遞迴方法,嘛會當採用廣度優先搜揣迵天來實際。