Flooding algorithm: Difference between revisions

Content deleted Content added
m <ref>http://answers.yahoo.com/question/index?qid=1006051903724/ref>
Tag: Text added at end of page
remove multiple issues template
 
(32 intermediate revisions by 20 users not shown)
Line 1:
{{Short description|Class of algorithms}}
{{unreferenced|date=August 2012}}
{{Notability|date=January 2024}}
A '''flooding algorithm''' is an [[algorithm]] for distributing material to every part of a [[Graph (discrete mathematics)|graph]]. The name derives from the concept of inundation by a [[flood]]. Flooding algorithms are used in [[Flooding (computer networking)|computer networking]] and [[Flood fill|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 [[Glossary of graph theory#Connectivity|connected]] to a given (source) node in a multi-dimensional [[Array data structure|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.<ref>{{Cite web |title=What is Flooding Algorithm |url=https://www.igi-global.com/dictionary/flooding-algorithm/11267#:~:text=A%20flooding%20algorithm%20is%20an,part%20of%20some%20routing%20protocols. |website=IGI Global}}</ref><ref>{{Cite web |title=Flooding in Computer Networks |url=https://byjus.com/gate/flooding-in-computer-networks-notes/ |website=Byjus's Exam Prep}}</ref>
Flooding algorithms are used in [[Flooding (computer networking)|computer networking]] and [[Flood fill|graphics]]. Flooding algorithms are also useful for solving many mathematical problems, including [[maze]] problems and many problems in [[graph theory]].
 
== See also ==
* [[Flooding (computer networking)]]
* [[Water retention on mathematical surfaces]]
* [[Flood fill]]
* [[Graph traversal]]
* [[Spanning tree]]
* [[Spanning Tree Protocol]]
* [[Amnesiac flooding|Amnesiac Flooding]]
 
== References ==
{{comp-sci-stub}}
{{reflist}}
 
== External links ==
[[Category:Graph algorithms]]
* [https://arxiv.org/abs/1305.5756 Flooding edge or node weighted graphs, Fernand Meyer]
[[Category:Routing algorithms]]
* [https://web.archive.org/web/20131211173036/http://users.eastlink.ca/~sharrywhite/Download.html Water Retention Utility]
 
[[deCategory:Flooding-Algorithmus algorithms| ]]
[[it:Flooding]]
[[pt:Algoritmo de inundação]]
 
 
 
A flooding algorithm is an algorithm for distributing material to every part of a connected network. The name derives from the concept of inundation by a flood.
 
Flooding algorithms are used in systems such as Usenet and peer-to-peer file sharing systems and as part of some routing protocols, including OSPF, DVMRP, and those used in ad-hoc wireless networks.
 
There are several variants of flooding algorithm: most work roughly as follows.
 
Each node acts as both a transmitter and a receiver.
Each node tries to forward every message to every one of its neighbors.
This results in every message eventually being delivered to all reachable parts of the network.
 
Real-world flooding algorithms have to be more complex than this, since precautions have to be taken to avoid wasted duplicate deliveries and infinite loops, and to allow messages to eventually expire from the system.
 
Flooding algorithms are also useful for solving many mathematical problems, including maze problems and many problems in graph theory.
 
Flow based routing algo
 
Following the interpolation and pre-processing of the DEM, CatchmentSIM applies a flow routing algorithm to delineate subcatchment boundaries, determine the subcatchment network relationship and calculate geophysical subcatchment properties.
 
The flow routing algorithm forms the basis of all these processes and is consequently, of vital importance to the quality of any GIS based hydrologic investigation. CatchmentSIM utilises an adapted form of the 'rolling ball' flow-path methodology first proposed by Lea (1992) . This algorithm determines a downslope flow angle for each pixel that can be anywhere in the range of 0-360 degrees. The flow direction angle is determined as the resultant flow vector from the combination of the steepest non-diagonal pixel flow path and the next steepest adjacent non-diagonal flow-path
Flow from each pixel is then routed through all downhill pixels until the catchment outlet (or DEM boundary) is reached. The algorithm treats the flow-path as a line and records the entry and exit points of the flow-path through all pixels.