gpt4 book ai didi

algorithm - 我怎样才能提高我的填充程序的性能?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:27:24 28 4
gpt4 key购买 nike

我在我的应用程序中实现了四种方式的洪水填充,下面给出了伪代码

Flood-fill (node, target-color, replacement-color):
1. If the color of node is not equal to target-color, return.
2. Set the color of node to replacement-color.
3. Perform Flood-fill (one step to the west of node, target-color, replacement-color).
Perform Flood-fill (one step to the east of node, target-color, replacement-color).
Perform Flood-fill (one step to the north of node, target-color, replacement-color).
Perform Flood-fill (one step to the south of node, target-color, replacement-color).
4. Return

有点慢,有时会填满调用堆栈!而且我真的没能计算出这个算法的复杂度。

谁能提出更好的算法来实现它,好吗?

最佳答案

当前最先进的 floodfill 算法(自 2006 年左右)基于找到连接组件的轮廓(最外边界),将轮廓转换为水平像素运行(并从连接的组件中检测和移除内部孔),然后填充像素运行。好处是大大减少了内存需求(和/或堆栈级别)以及速度更快(保证内部像素只读一次,写一次)。然而,该算法并不简单。您需要阅读一些研究论文才能实现它。

关于algorithm - 我怎样才能提高我的填充程序的性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5984131/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com