Прошло довольно много времени с тех пор, как я взял структуры данных и алгоритмы в колледже, поэтому недавно я был удивлен тем, что рекурсия не может быть способом (tm) для обхода дерева. По какой-то причине итеративный обход на основе очереди не был методом, который я когда-либо использовал.
Что, если таковые имеются, являются преимуществами итеративного или рекурсивного обхода? В каких ситуациях я могу использовать один, а не другой?