Нахождение пути между двумя узлами дерева - PullRequest
0 голосов
/ 07 апреля 2020

как я могу напечатать путь между любыми двумя узлами запроса в дереве, не обязательно в двоичном дереве? Я использовал dfs и сохранял пути в векторе для каждого запроса и печатал его. Но если входного запроса нет. слишком большой q <= 10 ^ 5, мой алгоритм, который имеет o (n <em>q) (может быть не уверен) сложность fails.n = нет узлов в дереве. Может кто-нибудь помочь мне с лучшей оптимизацией, так то, что временная сложность уменьшается, может быть o (n logq) или o (q * logn) .n <= 10 ^ 5. Если какие-либо предварительные вычисления потребуют, предложите мне это. </p>

1 Ответ

0 голосов
/ 07 апреля 2020

Вы смотрели на использование алгоритмов UCS или A *? A * с хорошим heuristi c позволит вам посетить наименьшее количество узлов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...