Рекурсия. Репка и матрёшка

Поделиться
HTML-код
  • Опубликовано: 5 янв 2025
  • Сказка "Репка". Крайний случай.
    Прямой и обратный ход рекурсии.
    Алгоритм изготовления матрёшки.
    Программа, печатающая матрёшку.
    Курс молодого бойца по информатике (Язык Си).
    cs.mipt.ru/c_intro

Комментарии • 208

  • @tkhirianov
    @tkhirianov  4 года назад +59

    Вариант с музыкой: ruclips.net/video/n3Q_FIJ6s-s/видео.html

    • @splinetech
      @splinetech 4 года назад +1

      Потерялись десять ньютонов в процессе, непорядок! ))) Или я чего-тоне понял?

    • @AlfRentgen
      @AlfRentgen 4 года назад

      ruclips.net/video/rJYf-h38i-o/видео.html

    • @ULTRALIBERAL
      @ULTRALIBERAL 3 года назад +1

      ой повезло повезло - преподователь сразу с музыкой делает уроки

    • @str1753
      @str1753 2 года назад +2

      А герои Русской сказки уже вкурсе что он лишь программы из мира машин? А их тела всеголишь батарейки для добычи 200 кН?

    • @JonSonMus
      @JonSonMus 2 года назад

      @@str1753 это матрица - людэ не существуе

  • @sixaxisization
    @sixaxisization 5 лет назад +335

    - Папа расскажи мне сказку. - Какую? - Бесконечную.

    • @leda9518
      @leda9518 3 года назад +6

      Рекурсинувн

    • @IBmusic_vector
      @IBmusic_vector 3 года назад +2

      for(;;){}

    • @sixaxisization
      @sixaxisization 3 года назад +3

      @@IBmusic_vector while(true);

    • @Ruslan-nj5zw
      @Ruslan-nj5zw 2 года назад +6

      или так:
      -папа, расскажи сказку
      -про что?
      -про то как ты рассказываешь сказку
      -про что?
      ...

    • @oleksandrhrysha7348
      @oleksandrhrysha7348 2 года назад +1

      @@Ruslan-nj5zw а вот и юморист 1

  • @Youtooobo
    @Youtooobo 3 года назад +102

    Должен признаться очень интересный и оригинальный подход к подаче материала. Совмещение 2D элементов на доске с 3D объектами на столе создают какое то неописуемое погружение в процесс и заставляют, как то по особенному воспринимать информацию.
    Спасибо, было очень интересно.

    • @airmanbio5125
      @airmanbio5125 Год назад +1

      Да, я тоже кайфанул от этого)

  • @user-ix7kt4li5y
    @user-ix7kt4li5y 5 лет назад +184

    Мастер спецэффектов) Спасибо, очень грамотно) Успехов!

  • @ИванИванов-у3ч4м
    @ИванИванов-у3ч4м 4 года назад +45

    Это просто какой-то умопомрачительный талант объяснять сложные вещи - простым языком. Спасибо!

    • @shiftingsandsgames
      @shiftingsandsgames Год назад

      дааа, лучший преподаватель имхо! свободно говорю на англ., но всегда пересматриваю его уроки уже на русском

  • @ПрокофийФеоктистов
    @ПрокофийФеоктистов 2 месяца назад

    Восхитительно оригинальный подход, спасибо!

  • @juvusart
    @juvusart 5 лет назад +69

    Очень годный контент. Лучшее объяснение рекурсии во вселенной) Спасибо!

  • @algoseekee
    @algoseekee 4 года назад +48

    8 человек которые поставили дизлайк: репка, дедка, бабка, внучка, и далее по списку.

  • @victoriaco1262
    @victoriaco1262 2 месяца назад +1

    Супер мило, Тимофей-нянька)) спасибо!

  • @NikitaSafronov-y6i
    @NikitaSafronov-y6i 5 лет назад +20

    Парень молодец. Уважение и почет, что делишся своими знаниями с другими. Да и еще с такой подготовкой материала. Супер.

  • @whisperonpages
    @whisperonpages 8 месяцев назад

    Как человек, который лучше воспринимает информацию визуально и у которого проблемы с пониманием рекурсии (были до просмотра видео) безумно благодарна вам, что разложили этого зверя на матрешки 😁
    Было не только полезно, но и безумно интересно, не оторваться от просмотра)

  • @sofiipochta
    @sofiipochta Год назад +1

    Спасибо, посмотрела!

  • @uullarg
    @uullarg 4 года назад +12

    Хорошо (просто, образно и понятно) объяснил рекурсию! В институте, в конце 80-х, пару лет ловил этот образ, а тут всё так чётко и понятно! Молодец! Спасибо!

  • @dmitrii_kotoff
    @dmitrii_kotoff Год назад

    Светлая Голова, спасибо Вам большое!
    Только талантливый человек может говорить о сложном просто.

  • @LifeSakh
    @LifeSakh 4 года назад +1

    Лучшего объяснения рекурсии не придумать!!! Да еще и на сказке) Спасибо!

  • @vallery1395
    @vallery1395 3 года назад +3

    Самое крутое и самое понятное объяснение рекурсии которое я видела в интернете! Спасибо огромное! Посоветую ваши видео друзьям!

  • @kataleya4569
    @kataleya4569 4 года назад +7

    Вайй,святые небеса!!😂 Наконец-то, я поняла,что такое рекурсия😂

  • @КунаковБатутемир
    @КунаковБатутемир 5 лет назад +6

    Спасибо за знания УЧИТЕЛЬ!

  • @ИринаК-р1е
    @ИринаК-р1е 2 года назад

    Блин, это одно из лучших видео объяснений на простых вещах.
    Огромное спасибо автору.

  • @КириллКавалеров-б8х

    Одно из лучших объяснении про рекурсию)

  • @Павел-е9л
    @Павел-е9л 5 лет назад +9

    Ты просто красавчик!!! Огромное спасибо

  • @ApplePommeful
    @ApplePommeful 4 года назад +1

    Тимофей, вы лучший объяснятор! Спасибо! Однозначный лайк

  • @ПолинаКурносова-и8с

    спасибо большое за ваши простые, но идеально подходящие под этот случай, примеры! Однозначно лайк и подписка!!

  • @krupigor
    @krupigor 5 лет назад +23

    Гениально!!!

  • @deskentunhuman3336
    @deskentunhuman3336 3 года назад +1

    До сих пор не понятно - как люди изучали программирование, когда не было канала Тимофея?
    Спасибо за объяснение, вы - супер! :)

  • @bezumie9367
    @bezumie9367 Год назад

    Вы просто гений объяснений, спасибо!)

  • @gangstachel3472
    @gangstachel3472 2 года назад

    Все гениальное - просто. Спасибо за урок, после него я наконец смог самостоятельно разобраться в рекурсивном решении задачи про Ханойские башни.

  • @igorpii4739
    @igorpii4739 4 года назад

    давно программирую на С, но только сейчас нормально понял рекурсивную функцию:). Гениально простое объяснение!

  • @МайклМиколайович
    @МайклМиколайович 6 лет назад +9

    Огромная благодарность.

  • @dmitryvidonov9518
    @dmitryvidonov9518 Год назад

    Бесподобное объяснение рекурсии) Прям вот мое почтение)

  • @orange-vlcybpd2
    @orange-vlcybpd2 4 года назад +3

    Спасибо Вам за труд, это очень классно.

  • @ritchenko
    @ritchenko 4 года назад +2

    Спасибо за вашу работу. Очень выручают ваши ролики)

  • @dmitrijponkin
    @dmitrijponkin 5 лет назад +4

    Самое лучшее объяснение!!! Спасибо :))

  • @СтепанКазанский-ж2к
    @СтепанКазанский-ж2к 4 года назад +1

    Это просто гениально. Спасибо огромное! Вы лучший

  • @pegasovich
    @pegasovich 4 года назад +1

    самое годное объяснение в youtube - благодарочка!!!

  • @dmitry-utkin
    @dmitry-utkin 5 лет назад +17

    Системный блок как подставка для матрешек. Жестко.

  • @slavax4b671
    @slavax4b671 5 лет назад +26

    ахаах эти демонстрации бесценны :D

  • @netneutrality2024
    @netneutrality2024 4 года назад

    Гениальный пример с репкой. Спасибо.

  • @befuture_ru
    @befuture_ru 4 года назад

    Спасибо Тимофей за Ваше время, не каждый умеет рассказать просто о сложном! Топ контент!

  • @infupd
    @infupd 6 лет назад +7

    Супер пояснение! Спасибо!

  • @hloesilen
    @hloesilen 4 года назад +1

    матрешки изготавливают по обратной рекурсии. А так объяснение очень классное! Буквально на пальцах

  • @rieltor_in_Kiev
    @rieltor_in_Kiev 3 года назад +1

    Очень крутое объяснение!!! Аплодирую стоя!!!

  • @сергейустинов-э1с
    @сергейустинов-э1с 3 года назад

    Здоровья вам Тимофей ) шикарные уроки и понятные до предела )))

  • @_pheax
    @_pheax 4 года назад +2

    я понял рекурсию 😊. круто Тимофей Федорович. спасибо

  • @ShiraoriAteU
    @ShiraoriAteU 4 года назад +107

    Сколько не смотрел, так и не понимаю то, почему дед просто не вызывает второго деда. FeelsBadMan

    • @Такойсебе3дшник
      @Такойсебе3дшник 4 года назад +21

      А вдруг гони последние люди на земле и просто пытаются выжить в суровом мире. Там вон. Даже мышь понимает размах ситуации)

    • @programer8
      @programer8 4 года назад +6

      @@Такойсебе3дшник а может это последняя репка на земле, и делить они ее не хотят

    • @ЕвгенийВовк-ы7ь
      @ЕвгенийВовк-ы7ь 4 года назад

      Ответ в следующем ролике из плейлиста ;)

    • @ShiraoriAteU
      @ShiraoriAteU 4 года назад +2

      @@ЕвгенийВовк-ы7ь Я имел в виду что: У нас есть программа, и у неё есть ресурс в виде "Деда", который может тянуть 50 ньютнов. Так почему бы не сделать программу так, чтобы она сперва посмотрела на то, сколько ей ещё нужно дотянуть и такая "Ага, мне нужно ещё вытянуть 50 ньютонов и у меня есть как раз дедов на всю дозволенную RAM которые будут тянуть по 50 ньютонов... Пожалуй вызову я одного!" вместо того, чтобы вызывать бабку, дочку, собачку, кошку, МЫШКУ. (или пример таким, чтобы нужно было вытягивать не 100 ньтонов, а 120 например. Чтобы имела место рекурсия)
      Я сейчас пишу как человек, который уже всё бросил (Да простят меня Центральный Процессор Всевышний да Святая Щперационная Система). Так что, прошу no offens.

    • @olvler
      @olvler 3 года назад +3

      Думаете дед с дедом живет, по американской традиции? Семья так - для прикрытия?

  • @archiechellaut9483
    @archiechellaut9483 3 года назад

    Большое спасибо, Тимофей!

  • @МарияЛитвинова-ю1д
    @МарияЛитвинова-ю1д 2 года назад

    Гениальное объяснение!

  • @alexsidikov3426
    @alexsidikov3426 Год назад

    Я не знаю или я глупый или другие плохо объясняют, но видимо это мое идеальное объяснение рекурсии в программировании)))))

  • @svetameanssun
    @svetameanssun 2 года назад

    Невероятно! Спасибо большое за объяснение!

  • @evgeniyayav
    @evgeniyayav 5 лет назад +2

    Даже гуманитарий понял 😄 спасибо!)

  • @pasham776
    @pasham776 4 года назад +1

    Когда объясняется, все понятно, а за дело берешься, то какая то магия) Трудно воспринимается, когда функция инициализируется данными из стека.

  • @АскаровРуслан-л5м
    @АскаровРуслан-л5м 5 лет назад +2

    спасибо за подробное объяснение.

  • @АлексейПеченов-ч9и
    @АлексейПеченов-ч9и 2 года назад

    Спасибо за научное объяснение сказки "Репка" :)

  • @gkavboy
    @gkavboy 4 года назад +1

    Шикарная анимация!!!!!

  • @Dmitrii-Zhinzhilov
    @Dmitrii-Zhinzhilov 2 года назад

    Спасибо от Димули, 37 годиков за добрую сказочку ))

  • @eladkipiani2200
    @eladkipiani2200 5 лет назад +42

    гениальная постановка :)

  • @zyzukan
    @zyzukan 4 года назад

    благодорю Тимофея за это видео

  • @non5309
    @non5309 3 года назад

    наконец-то хорошее видео про объяснение рекурсии

  • @Антон-ъ6ж2е
    @Антон-ъ6ж2е 4 года назад +1

    Круто, спасибо! Наконец-то понял рекурсивное программирование)

  • @kazbek_azirbayev
    @kazbek_azirbayev 4 года назад

    шиканое объяснение, спасибо ребята!

  • @Аннанежная-м8я
    @Аннанежная-м8я 3 года назад

    Залипательный контент у вас! Очень весело про нужное

  • @C2H5OHH
    @C2H5OHH 4 года назад

    Потрясающе! Спасибо за урок!!!

  • @Артем-я7к1щ
    @Артем-я7к1щ 3 года назад

    наконец-то я понял рекурсию. Огромное спасибо

  • @MxM_5835
    @MxM_5835 3 года назад

    Отличное объяснение! Спасибо 🤝

  • @Beats-and-Bliss
    @Beats-and-Bliss 6 лет назад +63

    почему Вас не было в моем институте?! или наоборот)) Спасибо!

    • @MaxPV1981
      @MaxPV1981 4 года назад +4

      @@serjoberst6322 "Почему не Вы не были в не моём институте?"

    • @ralphlauren8349
      @ralphlauren8349 4 года назад

      @@MaxPV1981 абсурд

    • @MaxPV1981
      @MaxPV1981 4 года назад +2

      @@ralphlauren8349 Не может быть!

    • @КарабасБарабас-н6щ
      @КарабасБарабас-н6щ 4 года назад +1

      @@serjoberst6322 почему я не был в вашем институте?

    • @KAPMAH4IK
      @KAPMAH4IK 4 года назад +5

      почему мой институт не был в Вас?..

  • @lenaa_now7737
    @lenaa_now7737 4 года назад

    великолепное объяснение) спасибо!

  • @Kollapser
    @Kollapser 3 года назад

    Со стрелками и матрёшками забавно вышло)))

  • @oleksandrhrysha7348
    @oleksandrhrysha7348 2 года назад

    Сказка не только понравилась, но и пример на этой сказке. Мудрое решение.
    Благодарность за Ваши уроки!!

  • @khadzakos
    @khadzakos 5 лет назад +12

    Как на самом простом примере можно узнать сложное

  • @ЕвгенийГречишкин-ы4и

    очень креативно!!!,

  • @soundmorozov
    @soundmorozov Год назад

    Кайф! Спасибо!🍉

  • @abuiman5251
    @abuiman5251 2 года назад

    Спасибо! Здорово объяснили!!))

  • @МихаилЧопик-о2о
    @МихаилЧопик-о2о 6 месяцев назад

    Талантище, преподаватель с большой буквы. жаль, что питон не объсняет.

    • @sjdjjsjsjs3991
      @sjdjjsjsjs3991 4 месяца назад

      Так лекция про рекурсия, а не Питон

  • @Oh_sssshit
    @Oh_sssshit 3 года назад

    бабка, какая у неё сила.... от души посмеялся

  • @vladious8002
    @vladious8002 4 года назад +2

    Спасибо!

  • @marinaurrey5246
    @marinaurrey5246 4 года назад

    Очень интересная подача !

  • @exosgame7633
    @exosgame7633 6 лет назад +5

    Отличный урок !!!! На столько хорошо объяснил ! ( Правда я на js :) )

  • @vladgalekas
    @vladgalekas 4 года назад

    лучший, просто лучший.

  • @kimaller5148
    @kimaller5148 3 года назад

    Божественно!

  • @_slash_-
    @_slash_- 4 года назад

    Обалденно!

  • @evgeniyonegin2581
    @evgeniyonegin2581 4 года назад +1

    Тимофей, браво, отлично умеете ярко и просто показать рекурсию! Спасибо за ваш труд!
    # программа на Python, демонстрация матрешек
    def nesting_doll(num):
    if num == 1:
    print ('Цельная матрешка (дно рекурсии)')
    else:
    print ('Верхняя часть '+str(num)+' матрешки (прямой ход)')
    nesting_doll(num - 1)
    print ('Нижняя часть '+str(num)+' матрешки (обратный ход)')
    nesting_doll(5) #вызов функции на Питоне
    """
    загрузив ее сюда, можете наслаждаться визуализацией поэтапного ее выполнения
    www.pythontutor.com/visualize.html
    """

  • @ramanvedov1365
    @ramanvedov1365 4 года назад

    Здравия! Круто! Так просто объяснить такую сложную тему это талант. Особенно порадовало привлечение народного фольклора. Молодёжи напомнить про корни. Несколько слух резануло слово "безделушки". На самом деле очень глубокий смысл есть в матрёшке. Означает семь наших тел. Непосредственно физическое, самое маленькое, и далее тела духовные. Тонкие материи. Нашим предкам это было известно. Оттуда же и слово "семья" произошло. Сказка "репка" тоже имеет очень глубокий смысл)

  • @alexsancho9638
    @alexsancho9638 3 года назад

    spasibo ochen dostupno

  • @dariasidorenko6097
    @dariasidorenko6097 4 года назад +10

    Спасибо! Потрясающе интересное объяснение! И, конечно, отдельно отмечу, как круто вы рисуете мелом на камеру и выставляете фигурки - действительно, мастер спецэффектов. Подскажите, кого можно посмотреть, кто так же круто объясняет рекурсию и всё остальное, но в связке с JS?

  • @dimakhodosevich9083
    @dimakhodosevich9083 3 года назад +5

    объясните пожалуйста как работает второй вызов функции f(n-1), что-то не понял почему выводит возрастающую последовательность цифр

    • @753bc9
      @753bc9 Год назад +3

      Обычно приводят пример с оружейным магазином (ну, куда патроны всовывают) и патронами. Магазин - это стек. Патроны - это функции. Номера на патронах - это аргументы, т.е. передаваемые функции значения. Представьте, что у вас пистолет и n патронов. Пусть в данном случае n = 7. Вы пронумеровали этот патрон как 7 и поместили его в магазин. Здесь и дальше по тексту поместить патрон = вызвать функцию. А выстрелить = вернуть результат. Следующий патрон у вас будет с номером n - 1, т.е. в данном случае это номер 6. Его вы помещаете в магазин поверх того патрона с номером 7. След. патрон будет n - 1, где n уже равно 6, т.к. предыдущая функция хранит своё значение n, а не первоначальное. Т.е. получается, что третий патрон, который вы поместите в магазин, будет с номером n - 1, т.е. 6 - 1 = 5. И так далее, пока не выполнится заданное условие (оно может быть что-то типа if (n == 1) {Console.WriteLine($"Патрон номер {n}"); return;}
      Это пример на синтаксисе языка C#. Т.е. вы будете помещать патроны в магазин до тех пор, пока последним патроном не станет тот, который вы пронумеруете единицей. На данный момент картина получается такая: магазин заряжен семью патронами, где патрон с номером 7 находится в самом низу магазина, т.к. его туда поместили самым первым. А самым верхним патроном является патрон с номером 1, потому что он был помещён в магазин самым последним.
      Заметьте, что всё это время вы только помещали патроны, но не выстреливали. Т.е. функция пока что только вызывала сама себя, но ни разу не возвращала результата. А теперь, когда выполнилось заданное в if условие, вы начинаете выстреливать, т.е. возвращать результат. Когда совершится первый выстрел, патрон с каким номером вылетит? Правильно, с номером один. Т.е. этот патрон был помещён самым последним, а выстрелен самым первым. Так и в вашей программе первым вернётся результат той функции, которая была вызвана последней. Эта функция, которая была вызвана последней, первая возвращает свой результат той функции, которая была вызвана перед ней. Потом следующий выстрел. Вылетает патрон с номером 2. А патрон с номером 2 - это функция, которая была вызвана предпоследней и которой перед этим передался результат выполнения последней вызванной функции (т.е. той, которая вернула патрон с номером 1). И так до конца. Последним выстреленным патроном будет патрон с номером 7. Помещали вы его первым, а выстрелили последним (т.е. функция с этим значением вызывалась первой, а её результат вернулся последним). Этот результат уже вернётся туда, откуда первоначально вызывали данную функцию.

    • @YouMeNow88
      @YouMeNow88 Год назад +1

      @@753bc9 Допустим. Но если нам нужен факториал n числа? То как происходит разворот рекурсии при возврате 1 и как потом идет умножение чисел по порядку по возрастающей? В какой момент происходит этот разворот и как функция понимает что ей нужно умножиться и тд? Вот именно этот момент всем непонятен. Лично я ищу его уже неделю(

    • @ney107-iz6xl
      @ney107-iz6xl 5 месяцев назад

      @@YouMeNow88+

  • @dmitriysavinov9906
    @dmitriysavinov9906 3 года назад

    Классное видео!

  • @МихасСупре
    @МихасСупре 3 года назад

    Теперь каждому понятно)))

  • @AndeanMusicinMoscow
    @AndeanMusicinMoscow 4 года назад

    Каждый зверь, как функция

  • @vasyltopalo8962
    @vasyltopalo8962 4 года назад

    Спасибо вам большое))))

  • @СергейПресняков-о4р
    @СергейПресняков-о4р 5 лет назад +13

    Салат рекурсивный: треть оругцов, треть помидоров, треть салата рекурсивного.

    • @beldeveloper
      @beldeveloper 5 лет назад +4

      Получается, огурцов и помидоров 50%/50%. Но наверняка мы это никогда не узнаем)

    • @Dima_Dezhin
      @Dima_Dezhin 4 года назад +1

      )))
      Нет вещи столь малой, в которую не вместилась бы ещё меньшая.
      Нет столь великой вещи, которую не превзошла бы величиною ещё большая.
      (с) Козьма Прутков

    • @sergreckhem8086
      @sergreckhem8086 4 года назад

      @@Dima_Dezhin Элементарные частицы ? - Не , не слышал ))

    • @Dima_Dezhin
      @Dima_Dezhin 4 года назад +1

      @Serg Reckhem фрактальная природа реальности

  • @pavelzaikin8942
    @pavelzaikin8942 5 лет назад

    Благодарю!!!!

  • @alisaholainen6334
    @alisaholainen6334 4 года назад

    Классное объяснение=)

  • @ПавелСтаднюк
    @ПавелСтаднюк 3 года назад

    Также и на производстве выполнение задания: 1.начальник 10000$, 2.зам 7000$, . . . n.мастер 800$, n+1.работяга 400$. Сам был удивлён когда такое объяснение "зашло" 16-ти летним с первого раза.

  • @АртурГиниятуллин-ы9о
    @АртурГиниятуллин-ы9о 2 года назад +3

    Объясните кто понимает: почему после того как n стала равна 1, снова вывелось на печать 1, 2, 3... 7. Я понимаю что данные возможно были в стэке, но кто вызвал стэк? И как например сделать рекурсию чтобы не было этого вывода обратно к 7. Если бы это были переменные от задачи, выходит так что задача бы решилась, а потом снова разРешилась)))

  • @annaabramova2958
    @annaabramova2958 Год назад

    Объясните, пожалуйста, почему после достижения крайнего значения начинается обратный ход?

  • @Nikita_Pro89
    @Nikita_Pro89 3 года назад

    Круто 👍

  • @mutekironin
    @mutekironin 2 года назад

    👍👍👍

  • @CapitanNishtyak1
    @CapitanNishtyak1 4 года назад

    Оригинально :)

  • @Alfadali-k5s
    @Alfadali-k5s Год назад

    you are just super

  • @adeskmath
    @adeskmath 4 года назад

    Это круто! :)