Introduction - If you have any usage issues, please Google them yourself
1. Enqueue the root node.
2. Dequeue a node and examine it.
* If the element sought is found in this node, quit the search and return a result.
* Otherwise enqueue any successors (the direct child nodes) that have not yet been discovered.
3. If the queue is empty, every node on the graph has been examined – quit the search and return "not found".
4. Repeat from Step 2.