https://medium.com/@vinay.j3097/dive-into-bfs-dry-run-examples-for-breadth-first-search-bfs-for-binary-tree-b01396abc41e