Practice algorithms: Dynamic Programming, Graph, AI