Depth First Search Explained