Я искал здесь, как найти самый длинный простой путь в ориентированном циклическом графе (это означает, что каждый узел посещается только один раз, чтобы избежать бесконечности пути), и наткнулся на такие решения, как this. Однако все такие решения, которые я нашел, показывают только то, как вычислить длину самого длинного пути, а не фактические узлы, участвующие в этом пути.
Поэтому у меня вопрос: как можно изменить такой алгоритм, как который, чтобы он извлекал узлы, участвующие в самом длинном пути? Подобно тому, как алгоритм кратчайшего пути для всех пар Флойда-Варшалла может быть изменен чтобы разрешить реконструкцию пути.
path
изменится? Когда это произойдет, обновите также список узлов на пути. КогдаbestPath
изменится? Перепишите это как выражениеif
: теперь в теле этого оператораif
вы можете обновить список узлов в лучшем на данный момент пути одновременно с обновлением его длины. - person j_random_hacker   schedule 15.11.2014