Jump to content

Flooding algorithm: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Mentioned the flood fill algorithm and the jump flooding algorithm and their relative strengths and weaknesses
Line 10: Line 10:
* [[Water retention on mathematical surfaces]]
* [[Water retention on mathematical surfaces]]
* [[Flood fill]]
* [[Flood fill]]
* [[Graph traversal]]
* [[Spanning tree]]
* [[Spanning tree]]
* [[Spanning Tree Protocol]]
* [[Spanning Tree Protocol]]

Revision as of 00:31, 29 January 2023

A flooding algorithm is an algorithm for distributing material to every part of a graph. The name derives from the concept of inundation by a flood.

Flooding algorithms are used in computer networking and graphics. Flooding algorithms are also useful for solving many mathematical problems, including maze problems and many problems in graph theory.

Different flooding algorithms can be applied for different problems, and run with different time complexities. For example, the flood fill algorithm is a simple but relatively robust algorithm that works for intricate geometries and can determine which part of the (target) area that is connected to a given (source) node in a multi-dimensional array, and is trivially generalized to arbitrary graph structures. If there instead are several source nodes, there are no obstructions in the geometry represented in the multi-dimensional array, and one wishes to segment the area based on which of the source nodes the target nodes are closest to, while the flood fill algorithm can still be used, the jump flooding algorithm is potentially much faster as it has a lower time complexity. Unlike the flood fill algorithm, however, the jump flooding algorithm cannot trivially be generalized to unstructured graphs.

See also