№1. Реализовать на Java представление графа(ориентированного и неориентированного) в виде матрицы смежности и в виде списков смежности. Можно одной программой, можно несколькими.
№2. Реализовать на Java обход графа в ширину и в глубину.
С комментариями