Чтобы понять рекурсию нужно сначала понять рекурсию. Так уж повелось что у многих людей понятие «рекурсия» ассоциируется с вычислением факториала. Не знаю почему, но авторы умных книг в 9 из 10 случаев в разделе о рекурсии помещают пример вычисления факториала. Меня очень забавляет эта ситуация: неужели циклы уже отменили ;). В итоге у читателя складывается впечатление о рекурсии как о интересной, но бесполезной штуковине.

Возьмем обычный TreeView из NET FRAMEWORK. Он устроен таким образом, что любой узел TreeNode может содержать коллекцию Nodes, в которой, в свою очередь, могут содержаться другие узлы, каждый из которых содержит коллекцию Nodes…

(далее…)