'''Depth-First Search (DFS) approach''':
we visit a page(node) "A" and then all its children on the current path will be visited before we examining this page visit A's neighbor node"B".
For example, assuming the furthest depth a user wants to dig in is 2, we will start with our homepage and then examine its first children "page 1", then visiting page 1's children until we meet the maximum depth. Then we move onto homepage's second children "page 2" and visit page 2's children until we reach the maximum depth. Next we visit homepage next children page 3 and so on.