Показать результаты поиска пути на консоли - PullRequest
0 голосов
/ 15 декабря 2018

У меня есть реализация A * алгоритма поиска пути, который является обобщением алгоритма Дейкстры для кратчайшего пути .В результате получается граф, состоящий из узлов, каждый узел имеет от 0 до 8 соседей.

В некоторых ситуациях путь не может быть найден, когда это теоретически должно быть возможно.Когда это происходит, это означает отладку, которая может быть затруднена с большими неструктурированными данными.Поэтому я хотел бы сохранить вывод в древовидной структуре.Вопрос, на который должно ответить это дерево: На каком узле результат теряется?

Я думаю, что визуальное представление состояния более полезно при ответе на этот вопрос, чемсписок записей узлов, которые добавляются для проверки.

  1. Как лучше отобразить структуру исследуемого пути?Поскольку это граф с обычно более чем двумя соседями, отображение для двоичных деревьев не работает.
  2. Какая структура данных лучше всего подходит для удовлетворения этой потребности?

Вывод долженбыть на консоли.Однако, если есть решения, которые обеспечивают графическое отображение, которое также было бы неплохо.

Один из возможных выводов, который я могу отобразить, выглядит примерно так:

source
|                   \         \
neigbour0            neigbour1 neigbour2
|        \           |
neigbiur0 neighbour1 neighbour0 ...

Количество отступов будет основано наглубина и предыдущие элементы на одном уровне.Каждая соседка фактически отображается как целые координаты макс. 1000, поэтому метка соседа будет иметь длину не более 9 символов.

...