Я хотел бы знать, как я могу сделать, чтобы напечатать только определенный уровень двоичного дерева. Я читал здесь много вопросов о BFS, но не нашел ничего о printin только на одном уровне.Двоичное дерево, печать только на одном уровне (BFS)
Как я должен изменить общий поиск BFS для печати, позволяет сказать, только 2-го уровня этого дерева:
6
/\
4 8
/\/\
1 5 7 9
Леве 2 будет 1, 5, 7, 9. Спасибо!
Отслеживайте, на каком уровне вы сейчас находитесь, и завершаете, когда он доберется до 2. –
Это довольно очевидно, но я не мог найти способ сделать это с помощью обычной BFS. Он обрабатывает очередь с узлами, но не делает, t различает уровни.Он просто вставляет в очередь и обрабатывает их в порядке BFS. Все, что я прихожу, - это какое-то странное решение, проверяющее количество узлов, которые должен иметь каждый уровень, но он рушится, когда я думаю о неполном дереве – nitrnitr
Один из подходов состоит в том, чтобы помещать кортеж {level, node}, а не только {node}. –