Мне было интересно, как лучше всего реализовать древовидную структуру данных, чтобы иметь возможность перечислять пути всех уровней. Позвольте мне объяснить это с помощью следующего примера:
A
/ \
B C
| /\
D E F
Я хочу иметь возможность генерировать следующее:
A
B
C
D
E
F
A-B
A-C
B-D
C-E
C-F
A-B-D
A-C-E
A-C-F
На данный момент я выполняю поиск в глубину для различных глубин в структуре данных, построенной с использованием словаря и запись уникальных узлов, которые видны, но мне было интересно, есть ли лучший способ сделать такой обход. Есть предложения?