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.