Хорошо, я пытаюсь закодировать базовую программу, которая может помочь пользователю найти самый близкий путь к переходу из точки A в точку B в сети метро. В настоящее время я кодирую это на Java, и у меня есть три класса, которые являются классом Station, Route class и Control Class. Идея состоит в том, что объект Route хранит ограниченное количество объектов Station в списке массивов, который фактически имитирует один маршрут метро, который содержит точное количество станций. Кроме того, объект Station, который может хранить несколько объектов маршрута, а также как станция транзитного метро, расположенная на нескольких маршрутах одновременно. Часть, над которой я работаю, - это позволить пользователю войти в свою станцию отправления и станцию назначения, тогда программа распечатает список станций, которые им необходимо перенести (который должен быть как можно более низким), чтобы прибыть в их место назначения. В это время я довольно сильно ударил по поиску хорошего алгоритма для выполнения этой части программы, и я не могу понять, как написать код, который может выполнять эту задачу в сложной сети. Поэтому, если у кого-нибудь есть идеи, пожалуйста, помогите мне в этом. Спасибо.Алгоритм поиска ближайшего способа добраться от точки A до точки B в транзитной сети?
ответ
Dijsktra's Algorithm хорошо подходит для расчета кратчайших путей одного источника на лету. Вы также можете заранее заранее скопировать все кратчайшие пути для каждой пары станций, используя алгоритм кратчайшего пути с несколькими источниками, например Floyd-Warshall Method.
Оба алгоритма очень просты в реализации, учитывая правильные структуры данных (я бы подумал, что класс маршрута, который у вас есть, может быть не нужен, почему бы вам просто не иметь, чтобы каждый объект станции содержал список его прямых соседей? внимательно следит за общей структурой данных графа). Вы могли бы создать предварительно вычисленную таблицу поиска (хотя для многих станций это было бы большим) для каждой станции, которая сообщает вам с этой станции, учитывая желаемую станцию назначения, какую соседнюю станцию переместится на следующую. Это было бы по существу создание routing tables для каждой станции.
- 1. Жадный Поиск от точки A до точки B на графике
- 2. HTML5 Canvas анимация линии от точки A до точки B
- 3. Как оживить что-то от точки a до точки b?
- 4. Алгоритм поиска кратчайшего расстояния от точки в множестве A до точек в множестве B
- 5. Как добраться до ближайшего пункта для точки в openlayers OSM
- 6. Перемещение точки от A до B в 2D-пространстве
- 7. Растяжка спрайта от точки a до b starling
- 8. Перемещение объекта с постоянной скоростью от точки A до B
- 9. Алгоритм поиска сетки радиально от точки
- 10. Как я могу сделать botton от точки A до точки B в Android Studio?
- 11. Подсчитайте количество строк от точки A до точки B в текстовом файле
- 12. Как определить эффективность движения мыши от точки A до точки B в Javascript?
- 13. Как рассчитать расстояние от точки A до точки B в IOS Google Maps SDK?
- 14. Быстрый способ найти расстояние от точки до ближайшего края полигона
- 15. Анимация UIImageView (View) от точки A до точки B с ограничениями программно
- 16. Использование линейной интерполяции для анимации линии, движущейся от точки A до точки B
- 17. Google Maps jQuery расстояние от точки A до точки B с использованием строки Название города/округа
- 18. От точки A до точки B можно двигаться только вверх и вправо, сколько возможных движений?
- 19. Как я могу нарисовать линию от точки A до точки B
- 20. Как я могу получить расстояние от точки a до точки b на пользовательской (относительной) оси?
- 21. Специфичность CSS - не может добраться до точки
- 22. Определение того, нужно ли точке A вырезать угол, чтобы добраться до точки B
- 23. Расстояние от точки до ближайшего многоугольника в R
- 24. Глубина Первый алгоритм от начальной точки
- 25. Переход от точки A к точке B в 2D пространстве?
- 26. Расстояние от точки до полигона
- 27. Алгоритм для нахождения нулевой точки
- 28. Анимация строки, оттянутой от точки до точки
- 29. Алгоритм поиска графика без начальной точки
- 30. Как добраться до ближайшего места?
Если я правильно читаю ваш вопрос, текущие ответы не совсем правильные, потому что вы не используете типичный вес пути между двумя узлами, чтобы найти кратчайший путь по графику, но путь с наименьшим переводы? Поэтому, если вы путешествуете по красной линии, неважно, сколько станций вы пройдете через стоимость этого пути - 0, пока вам не придется переходить на желтую линию, тогда это 1? Если это так, вы можете захотеть свернуть любые ноги, у которых нет точки передачи в 1 ногу, а затем запустить dijkstra ... И если я полностью выключен, о хорошо = P – Windle