Python has simpler syntax than java, and is english like. We choose python here, so that we focus more on algorithm itself.
Like in a library, computer data are commonly stored in array or list, navigate the index is the basic skills.
The single edge directed graph is single linked list, following and changing the next pointer is the basic skills.
Left or right decision tree is another common direct graph, navigate the nodes with depth first search (dfs) and breadth first search(bfs) is the basic skills .
Single linked list has maximum one edge among nodes, binary tree has maximum 2 edges among nodes, graph has any number of edges among nodes. Luckily, we already know dfs and bfs, which is the tool to traversal adjacent nodes in a graph.
Besides array, linked list, tree, graph, there are many other data structures such as map, queue, stack, trie etc. We learn them by solving problems.