https://codeanddebug.in/blog/breadth-first-search-in-binary-trees/