Представьте, что у меня есть квадрат 6x6, состоящий из 36 вершин (т.е. 6 вершин в строке и 6 вершин в столбце), выглядит примерно так:
• • • • • •
• • • • • •
• • • • • •
• • • • • •
• • • • • •
• • • • • •
Каждая вершина связана либо с 1, 2, 3 или 4 соседними вершинами - так что в основном мы получаем граф с вершинами и ребрами. Моя проблема заключается в следующем: я хочу, чтобы робот прошел через этот «лабиринт» ребер, пока не найдет определенный объект, помещенный в какую-либо вершину. Как только он обнаружит этот объект, он должен вернуться в исходную точку, используя самый быстрый способ возврата.
Я не совсем уверен, как это реализовать, поэтому у меня вопрос: какова наилучшая структура для сохранения информации об этих вершинах и ребрах в C? (Матрица смежности мне кажется неэффективной, так как 36x36 довольно велико). И, используя эту информацию, как мне найти самый быстрый путь к началу?
36x36
не большой. - person Anirudh Ramanathan   schedule 18.03.2013