Algorithm for searching graph-like data structures, one level at a time.
- Start a queue
- Check current node - if false, mark as visited, continue
A collection of nodes (starting at a root node), where each node is a data structure consisting of a value, together with a list of references to nodes (the "children"), with the constraints that no reference is duplicated (a child can only have 1 parent), and none points to the root.