[#] [Из песочницы] Как работает рекурсия – объяснение в блок-схемах и видео
habrabot(difrex,1) — All
2017-09-03 23:30:04


Представляю вашему вниманию перевод статьи Beau Carnes [How Recursion Works — explained with flowcharts and a video][1].

![][2]
> «Для того чтобы понять рекурсию, надо сначала понять рекурсию»

Рекурсию порой сложно понять, особенно новичкам в программировании. Если говорить просто, то рекурсия – это функция, которая сама вызывает себя. Но давайте попробую объяснить на примере.



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



Вы открываете коробку только чтобы найти… еще больше коробок. Коробки внутри коробок и вы не знаете, в какой из них Ваш ключ. Вам срочно нужна рубашка, так что вам надо придумать хороший алгоритм и найти ключ.



Есть два основных подхода в создании алгоритма для решения данной проблемы: итеративный и рекурсивный. Вот блок-схемы этих подходов:


![][3]


#### Какой подход для Вас проще?


[Читать дальше →][4]

[1]: http://medium.freecodecamp.org/how-recursion-works-explained-with-flowcharts-and-a-video-de61f40cb7f9
[2]: https://habrastorage.org/web/c13/9d8/988/c139d898804b4e8ebcabd7e539ccdbd4.png
[3]: https://habrastorage.org/web/620/c52/954/620c5295459b4d83b0a94f2e20fe8ccc.png
[4]: https://habrahabr.ru/post/337030/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut