У меня есть класс Graph с двумя типами списков, а именно узлы и ребра
У меня есть функция
List<int> GetNodesInRange(Graph graph, int Range)
когда я получу эти параметры, мне понадобится алгоритм, который будет проходить через график и возвращать список узлов только настолько глубоко (уровень), как диапазон.
Алгоритм должен быть способен вместить большое количество узлов и большие диапазоны.
Поверх этого, я должен использовать аналогичную функцию
List<int> GetNodesInRange(Graph graph, int Range, int selected)
Я хочу, чтобы можно было выполнять поиск по нему, по указанному количеству узлов наружу (диапазону).
альтернативный текст http://www.freeimagehosting.net/uploads/b110ccba58.png
Итак, в первой функции, если я пропущу узлы и потребую диапазон, скажем, 2, я ожидаю, что результаты вернут узлы, показанные в синем поле.
Другая функция, если я пропускаю узлы, как на графике с диапазоном 1, и начинается с узла 5, я хочу, чтобы он возвращал список узлов, которые удовлетворяют этому критерию (помещен в оранжевое поле)