Таким чином, задача пошуку маршруту може розглядатися як задача вибору чергової крапки (міста) і пошуку частини маршруту, що залишилося, тобто має місце рекурсія.

Граф можна представити двовимірним масивом, що назвемо mар (карта). Значення елемента масиву map[i,j] — це відстань між містами і і j, якщо міста з'єднані дорогою, чи нуль, якщо міста не з'єднані прямої дорогою. Для приведеного графа масив mар можна зобразити у виді таблиці в такий спосіб:

 

 

1

2

3

4

5

6

7

1

0

1

1

1

0

0

0

2

1

0

0

0

0

0

0

3

1

0

0

1

0

0

1

4

1

0

1

0

0

1

0

5

0

0

0

0

0

1

1

6

0

0

0

1

1

0

1

7

0

0

1

0

1

1

0

Вміст клітинки таблиці на перетинанні рядка й і стовпця j відповідає значенню map[і,j].

Крім масиву map нам будуть потрібні масив road (дорога) і масив inci (від include — включати). У road ми будемо записувати номера пройдених міст. У момент досягнення кінцевої вершини він буде містити номера всіх пройдених вершин, тобто опис маршруту.

У incl[і] будемо записувати true, якщо вершина з номером і включена в маршрут. Робиться це для того, щоб не включати в маршрут уже пройдену вершину (не ходити по колу).