Shortest path problem

Graph representation

Basic algorithm

BFS and DFS

Path construction

Movement costs

Dijkstra

Greedy Best First Search

A*