Add Graph data type
Fix the bug that forgets to initialize adj variable
Add DepthFirstSearch class