What's the difference between a broadcast algorithm and a flooding algorithm?
Broadcast routing is of three types :

1.) N-way unicast routing - There are N destinations and the source sends a copy of the packet to each destination by making N copies of the packet
and addressing each copy to a different destination.

2.) Uncontrolled flooding - The source node sends a copy of the packet to
all of its neighbors. When a node receives the packet, it
duplicates the packet and send to all of its neighbors except the sender.

3.) Controlled flooding - A source node puts its address and broadcast
sequence number into the packet. It sends the packet to all of it's neighbor. Each node maintains a list of the source address and
sequence number of each broadcast packet it has received. When a node receives a broadcast packet. If the received broadcast message has the source address and sequence number already present in the list then it will drop the packet otherwise make a copy and forward it to all the neighbors except sender.