Обходы, определение предков и потомков, поиск цикла, компоненты слабой и сильной связности, топологическая сортировка, определение двудольности графа, мосты и точки сочленения
Реализуем обычный поиск в ширину по таблице, только для каждой клетки (кроме начальной) будем хранить еще и направление. Тогда при поиске соседних клеток просто будем выбирать между клеткой, стоящей перед нами, и клеткой, стоящей правее (не забываем изменять текущее направление при выборе клетки справа!!!)