Найти тему
Skillbox

Фрактал vs. рекурсия: спорим, ты не знаешь разницы

Оглавление

Узнайте, что такое фрактал и рекурсия, чтобы научиться правильно шутить об этом.

Многие не только не знают, в чем разница между фракталом и рекурсией, но и вообще не понимают, что это такое. Однако это не мешает делать мемы или шутить про рекурсию. Мы написали статью, в которой постарались понятно объяснить, что же это такое.

Что такое фрактал

Фрактал — это объект, который в точности или приблизительно совпадает с частью самого себя. Лучше всего это рассмотреть на примере такой картинки:

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

-2

То есть форма целой фигуры повторяет форму своей части. Фрактал может быть практически бесконечным, а иногда он выглядит довольно красиво:

-3
Вам также будет интересно:
Какое программирование самое востребованное.
12 лекций TED, которые должен посмотреть каждый разработчик.
Что такое HTML и почему его должен знать каждый разработчик.

Что такое рекурсия

Рекурсия — это когда объект находится внутри самого себя. Например, когда художник рисует, как он рисует, как он рисует, как он рисует:

-4

Или когда ты получаешь предсказание, что получишь предсказание:

-5

Также рекурсию можно встретить в программировании. Так называют функцию, которая вызывает саму себя или другую функцию, которая вызывает первую. Например, так:

function ShowNum($num) {
echo $num;
$num++;
ShowNum($num);
}

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

function ShowNum($num) {
echo $num;
$num++;
if($num < 100) {
ShowNum($num);
}
}

В чем же разница

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

Курс «PHP-разработчик»
Обширная программа для изучения PHP, состоящая из четырех курсов. Поможет с нуля овладеть популярным языком программирования, устроиться в IT-компанию вашей мечты или стать независимым разработчиком.
Программа курса