- Узел 1 --> Узел 2, Узел 3
- Узел 2 -->Узел 4
- Узел 3 -->Узел 5
- Узел 4-->Узел 5
Однако назначение ожидает вывода 1, 3, 5, 4, 2 Где проблема в моей логике?
РЕДАКТИРОВАТЬ: я не уверен, какую часть назначения я неправильно понял, но решение заключалось в том, что после печати первого элемента перемещение узла добавляет его в стек, но ожидаемый результат — это порядок, в котором элементы покидают стек. Перемещаясь по графу, вы начинаете с узла 1 и сначала переходите к узлу 2 (поскольку назначение требует, чтобы вы выбирали узлы в их естественном порядке), добавляя узел 2 в стек. Затем вы продолжаете обходить узлы, к которым ведет узел 2, в результате чего ваш стек будет равен 2, 4, 5. Затем, возвращаясь к выбору между 2 и 3, вы добавляете 3 в стек, извлекаете каждый элемент стека, выводя их, когда вы идете. Таким образом, сначала печатается 1, затем, вынимая элементы стека, вы получаете 3, 5, 4, 2.
Подробнее здесь: https://stackoverflow.com/questions/537 ... cted-graph
Мобильная версия