Похоже, вы используете поиск в ширину вместо алгоритма Дейкстры, чтобы найти путь от начала до конца.Я предполагал, что преемники возвращают текущие узлы, которые могут пройти, и vertices.get (0) означает, что узлы не имеют внешнего края к другим узлам.
Имея это в виду, похоже, ваш код должен работатьправильно.
Поэтому я должен сказать, что либо ваш метод-преемник работает неправильно, либо вы добавили вершины, у которых есть ребра к вершинам (0) (хотя это может содержать только 1 узел).
Вы могли бы получить лучший ответ, если бы мы знали, что сделали наследники и что вы храните в вершинах.