2009-05-01 3 views
2

У меня есть немного quandry, пытающегося создать хороший алгоритм для навигации по следующему графику.Графическая навигация с C#

alt text http://www.archimedesinc.biz/images/StackOverflow/Tree.jpg

Если пользователь выбирает «Таблица 21» в качестве отправной точки, мне нужно, чтобы иметь возможность получить путь к любой другой таблице из этой исходной таблицы.

EX: Если пользователь выбирает «Таблица 21» в качестве начала, а затем добавляет значение из «таблицы 8», мне нужно создать следующий путь "Таблица 21 ->Таблица 12 ->Таблица 9 ->Таблица 6 ->Таблица 8 ", все веса между таблицами одинаковы.

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

Спасибо!

ответ

3

Поскольку вы сказали ребра все того же веса, Dijkstra's algorithm (мой обычный первый выбор для такого рода вещи) просто деградировать до breadth first search, так что я предложите использовать это для простоты.

1

Вы можете выбрать один из нескольких алгоритмов для определения кратчайшего пути. QuickGraph хорошо подходит.

Смежные вопросы