В предыдущих частях мы познакомились с рекурсивным подходом решения деревьев. В этой части мы воспользуемся стэком. Рекурсия далека от идеала. Рекурсия чаще всего используется только во время собеседований (а этот цикл статей именно направлен на подгтовку к собеседования). В промышленной разработке её чаще избегают изза потенциальных следующих потенциальных проблем: Очеред (или Стэк) - популярный подход в решении задач на деревья. Во многом, задача на деревья определяется тем, как мы можем проитерироваться по всем узлам. В рекурсии мы вызываем рекурсивную функцию и передаем ей наследники. В случае же с очередью или стэком мы используем следующий трюк: Обходим дерево в ширину. Распечатаем все значения дерева сверху вниз, распечатывая значения на каждом уровне слева направо, как гирлянду. Желаемый порядок распечатки - сверху вниз, слева направо. Что такое очередь и как ей пользоваться? Для начала познакомимся с интерфейсом очереди (Queue) в Java. Очередь представляет собой FIFO (first in
Не рекурсией единой. Решаем задачи с деревьями, используя очередь
21 марта 202421 мар 2024
18
2 мин