Both the broadcast algorithm and the flooding algorithm seem exactly the same to me, some sites try to explain the difference but then other sites contradict their statements. At the moment I see both algorithms starting at a specific starting node. This starting node will send a message to all of its neighbors, and once received, the neighbors will send the message to all of their neighbors in turn, etc, etc. What is the difference?Does the broadcast algorithm use a spanning tree, and the flooding algorithm doesn't? Does the flooding algorithm use previously used edges, whereas the broadcast algorithm only use edges that aren't used yet? 
What's the difference between a broadcast algorithm and a flooding algorithm?
algorithms;distributed systems