A flooding algorithm is an
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
for distributing material to every part of a
graph. The name derives from the concept of inundation by a
flood
A flood is an overflow of water (list of non-water floods, or rarely other fluids) that submerges land that is usually dry. In the sense of "flowing water", the word may also be applied to the inflow of the tide. Floods are of significant con ...
. Flooding algorithms are used in
computer networking and
graphics
Graphics () are visual images or designs on some surface, such as a wall, canvas, screen, paper, or stone, to inform, illustrate, or entertain. In contemporary usage, it includes a pictorial representation of the data, as in design and manufa ...
. Flooding algorithms are also useful for solving many mathematical problems, including
maze problems and many problems in
graph theory
In mathematics and computer science, graph theory is the study of ''graph (discrete mathematics), graphs'', which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up of ''Vertex (graph ...
.
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
*
Flooding (computer networking)
*
Water retention on mathematical surfaces
*
Flood fill
*
Graph traversal
In computer science, graph traversal (also known as graph search) refers to the process of visiting (checking and/or updating) each vertex in a graph. Such traversals are classified by the order in which the vertices are visited. Tree traversa ...
*
Spanning tree
*
Spanning Tree Protocol
*
Amnesiac Flooding
References
{{reflist
External links
Flooding edge or node weighted graphs, Fernand Meyer