- Картата на града е представена чрез граф - кръстовищата са върхове, а улиците - ребра
- Представянето на графа се състои от 3 класа - Map, Street и Junction. По-подробно обяснение за някои архитектурни решения са посочени в коментари в кода.
- Реализирани са основни алгоритми върху графи - обхождане в дължина и дълбочина, алгоритъм на Дийкстра, намиране на Ойлеров цикъл
- Поддържа се интерактивен режим на изпълнение - достъпва се като се постави флаг -i, като се подават и име на файла, съдържащ картата, както и името на началното кръстовище