|
|
|
Поиск кратчайшего пути
|
|||
|---|---|---|---|
|
#18+
Есть таблица в MySQL, в которй содержатся возможные маршруты, формата from_id | to_id. Задача: Найти кратчайший путь между заданными $start_id и $finish_id, при этом можно двигаться как от from_id -> to_id, так и наоборот to_id -> from_id Вывод должен быть такой: 1. id1 = $start_id, 2. id2, ... n. idn, n1. idn1 = $finish_id Подскажите, плиз? Схематичное изображение (таблица маршрутов - связи точек на схеме): http://]http://eve-ru.com/data/images/com_img/evemap/region/10000030___1_3_08256.png ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 16:13 |
|
||
|
Поиск кратчайшего пути
|
|||
|---|---|---|---|
|
#18+
Какие-либо ограничения на количество пройденных ID есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 16:30 |
|
||
|
Поиск кратчайшего пути
|
|||
|---|---|---|---|
|
#18+
И, кстати, что значит кратчайший путь, если исходя из вопроса не видно, что в таблице существует поле, указывающее расстояние между from_id и to_id ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 16:31 |
|
||
|
Поиск кратчайшего пути
|
|||
|---|---|---|---|
|
#18+
Расстояние между from_id и to_id считать за единицу. Ограничений нет. Выполнение алгоритма должно завершиться при достижении конечного пункта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 16:43 |
|
||
|
Поиск кратчайшего пути
|
|||
|---|---|---|---|
|
#18+
Решение грубо: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. Теперь вопрос: как сделать массив маршрутов, так чтобы каждый поиск равнялся одной итерации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 18:16 |
|
||
|
|

start [/forum/topic.php?fid=23&fpage=129&tid=1464488]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
61ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 353ms |

| 0 / 0 |
