Java. Деревья ч.1. Рекурсивный обход в глубину.

Поделиться
HTML-код
  • Опубликовано: 27 ноя 2024

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

  • @IIJustIIsicariusII
    @IIJustIIsicariusII 3 года назад +42

    Какое же простое объяснение алгоритма! Решил пересмотреть весь ваш плейлист по алгоритмам.

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

      Забавно, вижу ваши комментарии и под лекциями в JavaRush =)

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

    Спасибо за урок. Перевел 10₽ за объяснение. Призываю всех делать также. Нужно поддерживать хороших авторов и не скупиться. Так мы станем жить лучше!

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

    Автору ОГРОМНЫЙ респект. Очень грамотно объясняет. С предысторией, примерами и пояснениями зачем и почему. Однозначно подписка. Спасибо!

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

    Офигеть это нечего не сказать, в универе вообще тему не понял,от слова совсем, посмотрев это видео все стало намного понятнее, Спасибо Огромное автору!

  • @ТатьянаБоброва-н7ш
    @ТатьянаБоброва-н7ш 2 года назад +1

    Объяснения лучше, чем на дорогущих курсах...Спасибо Вам большое! Пошла смотреть другие Ваши ролики! Лайк

  • @ДаниилСиницын-щ6ы
    @ДаниилСиницын-щ6ы 2 года назад +6

    Мужик, ты красавчик! До этого видео пробовал читать другие ресурсы - мало что понял. А из этого видео сразу все стало ясно. Спасибо! Все таки умение объяснять доступно - очень ценный навык.

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

    Вот правильно говорят, когда человек понимает он может доступно объяснить, спасибо за уроки!

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

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

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

    Спасибо! Ваши ролики часто выручают в, казалось бы, безвыходных ситуациях :)

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

    Спасибо вам большое, с третьего раза все понятно стало. В общем пока сам не напишешь не подебажишь не разберешься

  • @s.k.6563
    @s.k.6563 4 года назад +4

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

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

      Просто, ты - идиот! 🎉

  • @d.mertsalov
    @d.mertsalov 5 лет назад +25

    Всё наглядно и понятно! Спасибо за видео! Надеюсь на продолжение темы.:)

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

    Очень четкое и понятное обьяснение без лишней воды. Спасибо за науку.

  • @WakeUp_Lia
    @WakeUp_Lia 4 года назад +3

    тема интересная, очень нравится как вы все детально объясняете. Спасибо)

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

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

  • @ИванЗарембовский
    @ИванЗарембовский 4 года назад +3

    Спасибо большое! Очень помогли решить такую задачу! Вы единственный кто хорошо объясняет Java! Я вам очень благодарен!

  • @Алексей-я8щ8я
    @Алексей-я8щ8я 3 года назад +11

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

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

    Очень доходчиво. Просто о сложном. У вас талант. Спасибо.👍

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

    Спасибо, видео помогло понять почему обход назвали "рекурсивным":) До этого видео было полное непонимание как раз в первую очередь из-за названия)

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

    Потрясно, спасибо за понятное объяснение 🔥

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

    Отличное видео, лушче пока не видел, плюс понятно как работает компилятор в данном случае

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

    очень помогло, Спасибо, Сергей!

  • @ИльяШапорто
    @ИльяШапорто 2 года назад +1

    Большое спасибо очень крутое объяснение как считать глубину

  • @АлександрДементьев-с1ы

    Большое спасибо, очень хорошо все объяснил. Пожалуй лучшее видео на эту тему из всех, что пересмотрел.

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

    Комметрарий в поддержку.
    По сути: Хотелось бы уроки и по другим базовым алгоритмам. Особенно по тем, что дают на тестах в Leetcode и Codility. Уроки хотелось бы на Java. Так же не скупитесь на схемы объясняющие ход выполнения программы. Спасибо.

  • @user-lk8n0fgjk
    @user-lk8n0fgjk 6 месяцев назад

    Отличное видео. Спасибо за доступное и понятное объяснение!

  • @TheSollne4naja
    @TheSollne4naja 5 лет назад +5

    спасибо за видео! очень полезная информация, изложенная подробно и озвученная приятно. Ждем продолжения!

  • @АленаМ-н2з
    @АленаМ-н2з 4 года назад +4

    Спасибо, благодаря Вашему видео получилось решить задачу)

  • @МарияБорцова-ю1к
    @МарияБорцова-ю1к 2 года назад +1

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

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

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

  • @АндрейМ-щ6и
    @АндрейМ-щ6и 4 года назад +4

    Спасибо. Отличная подача материала!

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

    Спасибо, все доходчиво объяснено

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

    Спасибо! Супер, все наглядно и понятно!

  • @ЕкатеринаМакедонская-й4л

    Спасибо за видео! Интересно продолжение темы.

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

    Серега, обожаю твои видео! Продолжай пожалуйста снимать обучающие туториалы по Java

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

    Спасибо вам, добрый человек!

  • @iryna268
    @iryna268 5 лет назад +3

    Спасибо за видео. Все очень доступно объяснили.

  • @dmytrobudym8655
    @dmytrobudym8655 4 года назад +3

    Отличное объяснение) спасибо)

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

    Спасибо вам! Предельно понятно.

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

    Как всегда все понятно, спасибо

  • @AntonRodriges
    @AntonRodriges 4 года назад +3

    Спасибо! Очень познавательно!

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

    Спасибо за видео!

  • @vitaliypovzner9178
    @vitaliypovzner9178 5 лет назад +7

    Спасибо за видео!Подписался на твой канал,отлично излагаешь информацию!

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

    Спасибо!Отличное видео!!!

  • @СергейВячеслаев
    @СергейВячеслаев 4 года назад +6

    Спасибо, хорошо объяснил)

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

    спасибо за урок

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

    Спасибо. Отличное видео

  • @NKozchenko
    @NKozchenko 18 дней назад

    Спасибо большое Сергей за такие видео, наверное единственный канал благодаря которому я могу понять всю тему сразу!
    Хотел также вступить в ваш телеграмм канал, но ссылка почему то недоступна(

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

    Благодарю за ваш труд

  • @ГендальфБелый-ш7р
    @ГендальфБелый-ш7р 5 лет назад +2

    Нихуя, я не знаю как тут не материться. Все хорошо объясняешь, да еще и с картинками. Спасибо за ваши уроки

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

    спасибо за объяснение

  • @MC-RAY
    @MC-RAY Год назад

    Просто лучший🎉

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

    Спасибо большое.

  • @johannesbrown8853
    @johannesbrown8853 5 лет назад +3

    Супер!

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

    Спасибо!

  • @BC-uj4nu
    @BC-uj4nu 2 года назад

    Суперклассное объяснение, только произносите правильно: null - [нал], sum - [сам]. А то потом у англоязычных коллег ухи вянут.

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

    чому так мало просмотров!?!?
    автору ставлю класс!

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

    Это лучшее видео

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

    очень круто!

  • @BobrKurvva
    @BobrKurvva 5 месяцев назад

    спасибо

  • @SS-vq7lo
    @SS-vq7lo 4 года назад +1

    Мужик ты Молодец, но можно я придерусь? Сейчас очень много блоггеров говорят “так же самое” и появилось много людей которые начали говорить так же, раньше никогда такого не слышал. Откуда взялось это выражение? Это же два разных слова которые не имеют ничего общего между собой. Может все таки “то же самое”? Если человек вещает для масс то он просто обязан говорить правильно. А за материал спасибо, самое главное что было показано в отладчике что происходит. Очень понятно

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

      нельзя

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

    На Python делается проще:
    class Node:
    def __init__(self, value, left_node=None, right_node=None):
    self.value = value
    self.left_node = left_node
    self.right_node = right_node
    def sum(self):
    sum = self.value
    if self.left_node:
    sum += self.left_node.sum()
    if self.right_node:
    sum += self.right_node.sum()
    return sum
    tree = Node(20, Node(7, Node(4, right_node=Node(6)), Node(9)),
    Node(35, Node(31, Node(28)), Node(40, Node(38), Node(52))))
    print(tree.sum())

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

    спасибо!!

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

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

  • @caffeinejavacode1475
    @caffeinejavacode1475 4 года назад +3

    Спасибо! я так понял эта рекурсивная магий просисходит из за того что у нас поле того же типа что и класс ну и конструктор естественно принимает тот же тип. Правильно?

  • @ТатьянаСмирнова-в7р5ж

    super!!!

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

    класс

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

    А в жава нет готового фремворка для деревьев? Типа кубернейта

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

    балансировка интересна

  • @aleksejsigaj1373
    @aleksejsigaj1373 5 месяцев назад

    Дерево состоит из деревьев или из нод?

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

    суть понятна, построение понятно, но не компилируется IDEA рисует ошибки((((((

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

      всё))))) нашел ошибку, не сделал класс статическим

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

      @@kalyan116rus хорошо, а то я уже было запустил IDEA, собрался разбираться что не так))

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

    Внимание глупый вопрос, а зачем class Tree сделали статическим? в итоге получили static class Tree, не совсем понял зачем вы так сделали.

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

      Чтобы подчеркнуть, что Tree - не внутренний класс класса Main и может работать независимо от него.

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

    Построением дерева занимаются специальные алгоритмы.... Так это же как раз и самое интересное!!!
    И зачем отдельно конструктор для листьев? Разве нельзя использовать тот же конструктор, передавая в качестве потомков null??

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

      А какой смысл экономить на конструкторах? Наоборот, на каждый случай использования нужно сделать по конструктору) В нашем случае в коде будет сразу видно где лист создается, а где полноценный узел. Это же хорошо?

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

      @@arhitutorials Не могу сказать, хорошо это или плохо, я не настолько обладаю опытом, просто мне показалось избыточным. И с точки зрения разделения ответственности и декомпозиции, получение строковых последовательностей для отдельных символов(getCodeForChar) в составе класса, описывающего узел, мне показалось чуждым.

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

    Как посчитать количество листьев в таком дереве?

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

      int sum(){
      int sum = 1; // было int sum = value;
      if (left != null){
      sum += left.sum();
      }
      if (right != null){
      sum += right.sum();
      }
      return sum;
      }

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

    название класса, вроде как, пишется с заглавной буквы?

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

      Да, вы правы. Написал и не заметил ошибки(

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

      @@arhitutorials странно что IDEA такое пропустила

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

      @@naivais это нормально. Синтаксисом Java не запрещено называть классы с маленькой буквы. Это просто такое общепринятое соглашение.
      Кстати в IDEA можно настроить code guidelines как надо, и тогда такие вещи будут подчеркиваться. Но у меня чистая IDEA без кастомных настроек, по этому пропускает.

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

    Странный метод main, в котором в качестве аргумента принимается массив с наименованием params. Вcегда считал именование args неизменным для JVM

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

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

  • @ДмитрийЖогла-т5ь
    @ДмитрийЖогла-т5ь 3 года назад

    скажите пожалуйста, что это за IDE ?

  • @Scruner-7
    @Scruner-7 3 года назад

    "На практике этим заниматься не надо, это делает специальный алгоритм", а обучение не для практики? Почему тогда не показать сразу в сравнении, как это делается на практике?

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

    Спасибо, очень хорошо объясняете )

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

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

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

    Классное видео. Спасибо!

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

    Спасибо! Очень познавательно!

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

    Большое спасибо!! Очень интересно.