#19. Бинарное дерево. Способы обхода и удаления вершин | Структуры данных

Поделиться
HTML-код
  • Опубликовано: 13 ноя 2022
  • Обучающий курс: stepik.org/a/134212
    Инфо-сайт: proproprogs.ru/structure_data
    Алгоритмы обхода вершин бинарного дерева в ширину и в глубину. Алгоритм удаления узлов бинарного дерева.

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

  • @harlok13
    @harlok13 Год назад +34

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

  • @donfedor007
    @donfedor007 6 месяцев назад +1

    У Вас дар! Вы так просто объясняете, такие сложные вещи! Везёт Вашим студентам!

  • @aurum5766
    @aurum5766 10 месяцев назад +2

    Спасибо вам огромное за ваши лёгкие и понятные объяснения.Вы просто мастер обучения😊

  • @siarheiulas6969
    @siarheiulas6969 Год назад +2

    Как всегда, очень понятное и подробное объяснение! Спасибо огромное!

  • @AlexFilenko
    @AlexFilenko Год назад +2

    Спасибо за видео, визуализация очень помогает понять, что происходит!)

  • @user-zt5bv3jv5y
    @user-zt5bv3jv5y 6 месяцев назад +1

    Благодаря тебе, сейчас разобрался с рекурсивным поиском в глубину, спасибо! Подпишусь!

  • @atlantatesla9348
    @atlantatesla9348 3 месяца назад +1

    Спасибо! Вы отлично объясняете.

  • @user-zl5sp9yh1n
    @user-zl5sp9yh1n Год назад +2

    Просто приятно слушать на работе😁. Спасибо Сергей.

  • @user-ee1lx1pe7n
    @user-ee1lx1pe7n Год назад +2

    Сергей, вы как всегда, на высоте!

  • @andviktor
    @andviktor 11 месяцев назад +2

    Шикарное объяснение, спасибо:)

  • @shinigami_yokoso
    @shinigami_yokoso Год назад +2

    Круто как раз сейчас задание с решающим деревом в курсе по ООП, можно попробовать все расказанное решить самому, а потом посмотреть как правильно

  • @Alex89muller
    @Alex89muller 4 месяца назад +1

    Курс годный! Спасибо!

  • @user-ot5iy5es4l
    @user-ot5iy5es4l Год назад +2

    В питоне можно сразу ветку обрубить присвоив потомку None, сборщик уже сам с последующими потомками разберется

  • @Piro_
    @Piro_ Год назад +2

    Спасибо Сергей, как раз прохожу ваш курс по ООП где это дерево ^_^

  • @yix_x_xio
    @yix_x_xio Год назад +4

    Я так был счастлив когда ты реализацию на C++ делал а тут ...( Резко решил только на питоне сделать 💔

  • @mrup7192
    @mrup7192 9 месяцев назад +3

    Здравствуйте! А почему для удаления узла с двумя потомками не брать больший узел из левого поддерева? Разве это не будет тоже самое что брать наименьший из правого ?

    • @kohubo6opohe803
      @kohubo6opohe803 8 месяцев назад +1

      Да, можно брать больший из левого поддерева. А ещё лучше при каждом удалении поочерёдно брать из левого и правого поддеревьев, чтобы дерево в целом оставалось сбалансированным. И тогда операции в дереве будут работать даже быстрее, чем в Красно-Чёрном или AVL дереве, не асимптотически быстрее, но в константу раз быстрее. Правда, для этого ещё необходимо, чтобы добавляемые и удаляемые узлы были случайны, что на практике не всегда бывает.

  • @golokwen7622
    @golokwen7622 Год назад +4

    Сергей, можно вопрос? Как функция show_tree() по рекурсии возвращает нас обратно, после того как узнала что слева и справа None. Спасибо!

    • @selfedu_rus
      @selfedu_rus  Год назад +5

      Это из-за рекурсивного вызова функции show_tree(). Когда функция вызывается, она помещается в стек вызова функций и извлекается оттуда при завершении. Т.к. при рекурсии функции не завершаются сразу, то этот стек вызовов растет, пока не дойдем до листовой вершины. Тогда очередная функция завершается и мы продолжаем выполнение предыдущей вызванной функции. Так и попадаем обратно )

  • @kpanat
    @kpanat 9 месяцев назад +2

    Да 6 обходов 3 позиции для обработки прямой и инверсный порядок. Усё...

  • @cashhh7776
    @cashhh7776 Год назад +2

    Можно показать все это на практике? желательно на Python!

  • @Holstinin007
    @Holstinin007 5 месяцев назад +1

    лайчищеееееееееее

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

    Selfedu, я конечно понимаю, что вопрос не по теме, но я не слишком сильно разбираюсь в ООП, изучаю его, но идет трудно. Так вот, как реализовать создание такого количества экземпляров какого хочешь? Я имею ввиду, что-то на примере вкладок в браузере, их можно создавать бесконечно, но как это реализовано? (Конечно я не собираюсь создавать вкладки, просто интересуюсь, как именно это работает)

  • @user-qn6pq1dk5h
    @user-qn6pq1dk5h Год назад +3

    ЛНР? 😮

    • @ScreamOFF
      @ScreamOFF Год назад +7

      ЛНР здорового человека

    • @user-ju5dv5fj8w
      @user-ju5dv5fj8w Год назад

      @@ScreamOFF в точку)