Я пытаюсь представить способ представления уличной сети в моей программе, просто такой простой: Главная улица A с несколькими перекрестками, скажем a, b, c, d. Другая улица B параллельно с А. Так что-то выглядит следующим образом:Какую структуру данных следует использовать для представления уличной сети?
----|a|---|b|----|c|-------------------
Street A
----|a|---|b|-----------------|d|------
| | | | | |
| | | | | |
----|a|---|b|-----------------| |------
Street B
------------------------------|d|------
Я думал, может быть, я мог бы просто создать Street
класс для представления двух главных улиц, и каждый из них будет иметь два списка пересечений: левые и правые , Но я могу сказать, что это станет беспорядочным, поскольку я добавляю больше улиц в сеть.
Так что предложение было бы очень признательно! (Может быть несущественными, но я использую Java)
Edit 1: Кроме того, для этого проекта, направления движения позволили очень важно - то есть, структура данных должна быть в состоянии сказать, является ли улица односторонний, так и односторонний, в каком направлении. Я должен иметь возможность легко получить доступ к этой информации из структуры данных.
Ориентированный граф с весами? – Roger