КАК РАБОТАЮТ ДЕРЕВЬЯ | СТРУКТУРЫ ДАННЫХ

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ก.ย. 2024

ความคิดเห็น • 211

  • @AlekOS
    @AlekOS  ปีที่แล้ว +22

    Подписывайся в телеграм-канал: t.me/Alek_OS

    • @dmbabaycev123
      @dmbabaycev123 ปีที่แล้ว +1

      Начался список с 1, не с 0

    • @dmbabaycev123
      @dmbabaycev123 ปีที่แล้ว

      За это лайк)

  • @Cheeckov
    @Cheeckov ปีที่แล้ว +412

    - Что делаешь?
    - Перекрашиваю чёрных детей.
    - Расист?!
    - Программист.

    • @bartbelrigvardo5216
      @bartbelrigvardo5216 ปีที่แล้ว +9

      🤣🤣🤣 Это за гранью добра и зла

    • @abuser-je3gl4vc1c
      @abuser-je3gl4vc1c 9 หลายเดือนก่อน +19

      - Что делаешь?
      - Делаю деда красным и совершаю левый поворот.
      - Коммунист?!
      - Программист.

    • @ЕвгенийМакаров-щ5н
      @ЕвгенийМакаров-щ5н 3 หลายเดือนก่อน

      @@abuser-je3gl4vc1c open source программист

  • @БольшойБрат-з4р
    @БольшойБрат-з4р ปีที่แล้ว +186

    Не расстраивайтесь если не поняли ролик. Никто никогда его не поймет с первого раза. Такие ролики лучше воспринимать не как обучающие а как справочные.

    • @СултанСулейман-з3ф
      @СултанСулейман-з3ф ปีที่แล้ว

      я с первого раза все понял, а ты лох
      ))))))))))))

    • @IvanMakarov-i9v
      @IvanMakarov-i9v 9 หลายเดือนก่อน

      По фактам

    • @Денис-ж3ф5р
      @Денис-ж3ф5р 5 หลายเดือนก่อน +2

      Я понял с первого раза ролик. Даже слишком простой, сеньор ios, магистк комтерных наук

    • @Taaa-Shaaa
      @Taaa-Shaaa 4 หลายเดือนก่อน

      @@Денис-ж3ф5р держи в курсе

    • @alfobarasovich55
      @alfobarasovich55 2 หลายเดือนก่อน

      ​@@Денис-ж3ф5р думаю что человек с реальным уровнем Мидла и выше поймет видос с первого раза, но вот только не все на канале являются мидлами и тем более сеньорами

  • @xagent
    @xagent ปีที่แล้ว +126

    Недавно наткнулся на ваш канал. Это просто супер. На фоне всего остального шлака по теме it, который существует на ютубе, ваш канал прям выделяется. Мне очень нравится ваш фундаментальный подход. Не тупо освоить синтаксис какого нибудь языка программирования, а дать именно теоретические основы программной инженерии. Да еще и в интерактивном и наглядном формате, с анимациями, графиками. Желаю развития каналу.

  • @АлексейПротасов-п6э
    @АлексейПротасов-п6э ปีที่แล้ว +61

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

  • @MicP8
    @MicP8 ปีที่แล้ว +22

    7:10 - если при удалении узла, с двумя детьми, мы используем максимальный элемент слева(maxInLeft), то и удалять надо слева : node.left = delete(node.left, maxInLeft.key).
    На слайдах : node.right = delete(node.right, maxInLeft.key).
    Аналогичная неточность в коде для AVL Tree

    • @МатвейФедкович-ш3д
      @МатвейФедкович-ш3д 6 หลายเดือนก่อน +2

      Верно. Хорошее замечание

    • @Andreypochemu
      @Andreypochemu 4 หลายเดือนก่อน +1

      а я сижу не понимаю что не так

    • @Вадим-ш5у8г
      @Вадим-ш5у8г 16 วันที่ผ่านมา

      Мне все равно не понятно, если node.left = delete(node.left, maxInLeft.key),
      delete(node.left, maxInLeft.key) вернет 6
      node.left =4 . получится что четверка замениться на 6 ?

  • @Денис-ы6ъ5г
    @Денис-ы6ъ5г ปีที่แล้ว +15

    Недавно сам писал реализацию красно-черного дерева, столько статей пересмотрел и видосов,эх,где ты был пару недель назад( Все очень классно и понятно!

  • @viska_tru
    @viska_tru ปีที่แล้ว +30

    Сложно, ничего непонятно, но очень интересно

  • @p.al.trofimov
    @p.al.trofimov ปีที่แล้ว +8

    Лучший из всех каналов на рунете по IT тематике. Спасибо за контент, за качественную информацию и высокий уровень подготовки ролика 👍

  • @cepmadbrozzer4448
    @cepmadbrozzer4448 ปีที่แล้ว +64

    Не стоило ли указать, что видео исключительно про бинарные деревья? А то складывается ощущение, что других и не существует. Я, к примеру, всё ждал, каким будет разбор B+Tree, чтобы в очередной итерации попробовать снова обуздать принцип работы InnoDB.
    Но видео очень залипательное, спасибо! Очень низкоуровнево, прям как я люблю.

    • @alexshturmovik3037
      @alexshturmovik3037 ปีที่แล้ว +4

      согласен, эту структуру данных как-то обходят стороной, иногда даже BTree расшифровывают как Binary Tree(

    • @DenysHolovin
      @DenysHolovin ปีที่แล้ว +1

      Очень низкоуровнево, прям как я не люблю :)
      Но было интересно

  • @whitefox1777
    @whitefox1777 ปีที่แล้ว +10

    Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?

  • @MicP8
    @MicP8 ปีที่แล้ว +15

    Отличный разбор!
    В коде copyTree (8:00)на экране есть ошибка, должно быть, как и сказано в звуковом комментарии:
    void copyTree(Node node) {
    If(node==null) return;
    print(node.value);
    copyTree(node.left);
    copyTree(node.right);
    }

    • @yuriykachanov2212
      @yuriykachanov2212 ปีที่แล้ว +1

      In English: pre-order, in-order, post-order

  • @avi-crakhome2524
    @avi-crakhome2524 ปีที่แล้ว +11

    Деревья придумали для обычных процессоров, которые способны выполнять одно сравнение за одну команду.
    Ускорители для ИИ работают иначе - там вся память ассоциативная, и поиск заключается в нахождении самого близкого значения от запроса, в идеале равным запросу. Но так как от двоичной логики далеко уйти не получилось - то поиск выполняется параллельным приближением, прямо в памяти.
    Берётся блок памяти допустим 4к цифр, и каждую цифру сравнивают с запросом, все разом, параллельно. Результатом имеем новый слой данных x>y?x-y:y-x. Если на этом слое где-то получился ноль - поиск заканчивается. Иначе выполняется операция сравнения между двумя соседями, и образуется новый слой - куда помещаются только малые числа. Потом ещё и ещё слои, до самого минимального числа. Адрес минимального числа считается результатом поиска, и он может быть не точным. И ещё пока нижний слой выполняется - верхний может принять новую страницу памяти и новый поиск. Для всего этого требуется огромное количество транзисторов - но зато скорость поиска приближается к реализациям квантовых компов. Которые кстати работают примерно так-же.

    • @asjvchnvh9313
      @asjvchnvh9313 7 หลายเดือนก่อน

      Интересная инфа, что за тема? Хотел почитать статьи

  • @АртурПоляков-ъ2д
    @АртурПоляков-ъ2д 10 หลายเดือนก่อน +1

    Здесь представлен довольно запутанный способ поворота дерева, хотя он эффективен. Есть более простой способ, для начала лучше его освоить. выглядит это примерно так:
    private Node rotateLeft(Node oldParent) {
    Node newParent = oldParent.right;
    Node newParentLeft = newParent.left;
    newParent.left = oldParent;
    oldParent.right = newParentLeft;
    oldParent.computeHeight();
    newParent.computeHeight();
    return newParent;
    }
    Данный метод поворачивает поддерево и возвращает новый корень,. Чтобы его корректно использовать, нужно чтобы методы добавления и удаления возвращали Node, и предрекурсионном методе вызов должен быть таким root = add(key, root);, где root - это корень дерева.

  • @zadrot64
    @zadrot64 ปีที่แล้ว +11

    Сними ролик про B-trees плз)
    Нормального ролика найти не могу, а они чаще используются для баз данных....

  • @pashkiewich
    @pashkiewich ปีที่แล้ว +5

    Как всегда кратко и информативно. Спасибо за пищу для мозга )

  • @alekseykhromov259
    @alekseykhromov259 ปีที่แล้ว +5

    Какой же годный контент… Большое спасибо!!!

  • @MgsMen
    @MgsMen 9 หลายเดือนก่อน +3

    Монтаж топ, но умение объяснять это искусство. Нашёл видео по этой же теме 9летней давности и сразу всё понял. А тут от ролика только перегрузка лишняя. Но лайк за труды

    • @gabibli
      @gabibli 8 หลายเดือนก่อน

      Скинь ролик плз

    • @cglike
      @cglike หลายเดือนก่อน

      Что за ролик?

  • @xagent
    @xagent ปีที่แล้ว +3

    на 8:03 у вас опечатка. Вы говорите что сначала выводим родителя потом левого и правого, но в коде у вас наоборот сначала левый и правый и потом родитель.

  • @vitaly_markov
    @vitaly_markov ปีที่แล้ว +3

    на 8:13 функции deleteTree и copyTree совершенно идентичные, хотя вроде разные обходы.......

  • @laranMQR
    @laranMQR ปีที่แล้ว +7

    Алекс, привет. Мне кажется, что на 7:05 также нужно и слева искать значение ключа заменяющего узла, чтобы его удалить. Т.е. просто нужно добавить node.left = delete(node.left, maxInLeft.key); . Переписал твой код и попробовал на датасете от 5 до 11 удалить вершину 8, то с кодом из примера 7 станет вершиной и также останется лепестком, поэтому нужно и для левой части делать проверку (удаление).

  • @ЯрославЗенин-й5з
    @ЯрославЗенин-й5з 10 หลายเดือนก่อน +3

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

  • @ilya_bondar_
    @ilya_bondar_ 11 หลายเดือนก่อน

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

  • @ruslandad365
    @ruslandad365 ปีที่แล้ว +3

    Кончаю от твоего "Окей" 😁😁😁

  • @bOOOOkash
    @bOOOOkash ปีที่แล้ว +3

    Посмотрев данный ролик, я понимаю - какой же я тупой...
    Спасибо за ролик.

  • @АртёмАртём-ю4ы
    @АртёмАртём-ю4ы ปีที่แล้ว +2

    Очень качественный контент, спасибо

  • @ЧеловекСвободный-е4н
    @ЧеловекСвободный-е4н ปีที่แล้ว +2

    Подсказка, по поводу того, чтобы понять почему КЧД балансируется, узнайте что такое 2-3 дерево, частный случай n-дерева. Когда вы поймете, 2-3 дерево, тогда вы поймет что кчд - это и есть 2-3 дерево, просто для обозначения левого и правого элемента, нам понадобилось красить узлы бинарного дерева.

  • @BigRock379
    @BigRock379 ปีที่แล้ว

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

  • @bOOOOkash
    @bOOOOkash ปีที่แล้ว +1

    Лайк не глядя, а потом уже просматриваем в высоком качестве и без перемотки 🌚

  • @Dmitrii-Zhinzhilov
    @Dmitrii-Zhinzhilov 11 หลายเดือนก่อน

    Alek, благодарю!! 👍 Инфографика великолепна! 🔥

  • @vladimirzabaro6795
    @vladimirzabaro6795 ปีที่แล้ว +1

    Автор ты просто МегаМен. 👌👍 спасибо

  • @aleksandrk.5818
    @aleksandrk.5818 ปีที่แล้ว +23

    Хорош комменты сыпать) лайки ставьте)

    • @senkamatic8448
      @senkamatic8448 ปีที่แล้ว +1

      Да поставили уже ))))

  • @sashakuznechkin
    @sashakuznechkin ปีที่แล้ว +1

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

  • @matweyrybakovskiy2952
    @matweyrybakovskiy2952 ปีที่แล้ว +1

    Отличный контент! Спасибо!

  • @Колибри-г5в
    @Колибри-г5в ปีที่แล้ว +1

    Спасибо за очередное годное видео

  • @arswarog
    @arswarog ปีที่แล้ว

    круто, так быстро и подробно про деревья я еще не видел материала

  • @ghjklfghk
    @ghjklfghk ปีที่แล้ว +1

    О. Новенький видосик. Усваиваем

  • @srgndrt
    @srgndrt 3 หลายเดือนก่อน

    08:00 опечатка в коде метода copyTree: правильно будет сначала print(node.value); затем левы и правый. А то получилcя такой же порядок как в deleteTree.

  • @Игорь-ц2б8в
    @Игорь-ц2б8в ปีที่แล้ว +1

    Спасибо за видео. Лайк👍

  • @МейнерДрейвена-с5т
    @МейнерДрейвена-с5т ปีที่แล้ว +1

    Интересно, круто рассказываешь, но пока тяжело. Вернусь через месяц

  • @rechw769
    @rechw769 ปีที่แล้ว

    как вовремя! как раз разбирался с ними! спасибо!

  • @Олег-л5ю2п
    @Олег-л5ю2п 9 หลายเดือนก่อน

    Жёсткий контент. Примеров только бы побольше

  • @china6714
    @china6714 ปีที่แล้ว +1

    Как можно было жить и не знать этого, спасибо P.S. Серьёзно, без шуток

  • @openFrimeTv
    @openFrimeTv ปีที่แล้ว +3

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

    • @MsAlexandr76
      @MsAlexandr76 ปีที่แล้ว

      у него есть поищите на канале!

    • @openFrimeTv
      @openFrimeTv ปีที่แล้ว

      @@MsAlexandr76 вы меня дурите. нету такого

    • @ЯнПацюпа
      @ЯнПацюпа ปีที่แล้ว

      Теперь точно есть) th-cam.com/video/FQ_xeY0eCpA/w-d-xo.html

  • @atmiccmx
    @atmiccmx ปีที่แล้ว +4

    да ладно, чувакккк, обожаю

  • @ron8897
    @ron8897 9 หลายเดือนก่อน +1

    На протяжение всего времени изучения программирования, я уже наверное 10000 раз сказал что я тупой )

  • @nikolaiandrianov1856
    @nikolaiandrianov1856 ปีที่แล้ว +1

    Прекрасно!!!

  • @sweetarteko
    @sweetarteko ปีที่แล้ว +1

    Неалохо было бы посмотреть настолько подробное видео года два назад, когда была такая дисциплина. Было бы гораздо легче.

  • @d1merz
    @d1merz ปีที่แล้ว +1

    Капитальный красавчик !

  • @vadimmatskevich8439
    @vadimmatskevich8439 ปีที่แล้ว

    Благодарю за разбор красно-черного дерева Давно когда-то видел его разбор текстовый - не стал вьезжать и забил. STL на красно-черных - но кодировать их явно сложнее АВЛ и высота дерева в среднем на 25+% выше чем у АВЛ Так что друг друга они заменить и вправду не могут.

  • @anolegych
    @anolegych ปีที่แล้ว +1

    Смотрю про красно-черное дерево в голове играют Rolling Stones😅

    • @luminas-d9w
      @luminas-d9w ปีที่แล้ว

      Paint it black, понимаю)

  • @МишаБобров-и1з
    @МишаБобров-и1з ปีที่แล้ว +1

    Cпасибо, посмотрим

  • @leomysky
    @leomysky ปีที่แล้ว

    Спасибо за видео
    Очень круто и фундаментально

  • @andarworld8985
    @andarworld8985 ปีที่แล้ว

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

  • @glebbondarenko67
    @glebbondarenko67 ปีที่แล้ว +4

    Спасибо за видео. Что-то код "Прямого обхода" совпадает с кодом "Обратно подхода". Или я чего-то непонял?

  • @Ahmedhkad
    @Ahmedhkad ปีที่แล้ว +3

    Тинькофф ищет только Middle(+) . а видео про Junior(стажер) 😅

  • @Yurii-b4k
    @Yurii-b4k 4 หลายเดือนก่อน

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

  • @jamessmit9738
    @jamessmit9738 ปีที่แล้ว

    Спасибо конечно огромное, но контрольная по этой теме была на прошлой неделе

  • @luminas-d9w
    @luminas-d9w ปีที่แล้ว

    23:51 если я правильно понял, то это второй кейс из момента 22:08. Тогда получается ошибочка: чёрные дети красного брата не должны быть нулями. Потому, что их чёрные высоты в момент до удаления равны 1, а не нулю.

  • @maxonbigbon
    @maxonbigbon ปีที่แล้ว +2

    Интересная тема, а какое практическое применение, где это можно встретить?

  • @alekseybiryukov7497
    @alekseybiryukov7497 ปีที่แล้ว +1

    Ничего не понятно, но очень интересно!

  • @daniilivanik5021
    @daniilivanik5021 ปีที่แล้ว

    Персистентное AVL- дерево по неявному ключу с групповыми модификациями - кайф

  • @BeketChan
    @BeketChan ปีที่แล้ว

    видео с удовольствием .... посмотрел.

  • @alexeyfladarov5200
    @alexeyfladarov5200 ปีที่แล้ว +2

    Годнота

  • @АндрейПетрович-е3я
    @АндрейПетрович-е3я ปีที่แล้ว

    Это класс, это здорово! Ну а компиляторы, теперь, как работают?

  • @aidamur
    @aidamur ปีที่แล้ว

    огромное спасибо за видео

  • @eugenevolohonsky1469
    @eugenevolohonsky1469 ปีที่แล้ว

    Самое крутое объяснение работы деревьев

  • @djorjegolmud517
    @djorjegolmud517 9 หลายเดือนก่อน

    Лучший просто!

  • @ceo-s
    @ceo-s ปีที่แล้ว +2

    Круто. Но жестко)

  • @markbondarchuk7043
    @markbondarchuk7043 ปีที่แล้ว +1

    По-моему на 7:05 рекурсивно удалять дубль 6ки нужно в левом потомке node.left = delete(node.left, maxInLeft.key) , а не в правом как на видео.

    • @laranMQR
      @laranMQR ปีที่แล้ว

      Мне кажется, что нужно и там, и там. Т.е. нужно просто добавить node.left = delete(node.left, maxInLeft.key), а остальное также оставить.

    • @vsevolodkasatchikov6730
      @vsevolodkasatchikov6730 ปีที่แล้ว

      ​@@laranMQRзачем и там, и там, если мы берём 6ку именно из левого дерева, значит ее оттуда и нужно удалить. Справа может отказаться другая 6ка, которую мы удалим "просто так"

    • @Pand1A
      @Pand1A 2 หลายเดือนก่อน

      в жаве вылетает на наль поинтер тогда... Кроме того по коду удаляются и другие ноды не равные ключу что передается в функцию

  • @МаксимМеснянкин-л6и
    @МаксимМеснянкин-л6и ปีที่แล้ว

    Мне кажется, когда рассказывали про удаление из красно-чёрного дерева, брата по ошибке назвали дядей

  • @memyselfi9155
    @memyselfi9155 ปีที่แล้ว +2

    Братан что за музон в начале до рекламы ?

  • @kartushinav
    @kartushinav หลายเดือนก่อน

    неплохо. но где b-tree?) желательно еще и сравнение b-tree с красно-черным деревом. в любом случае лайкос за сравнение с кубиком рубика)

  • @cepmadbrozzer4448
    @cepmadbrozzer4448 ปีที่แล้ว +2

    Разбор структур различных файловых систем не ожидается ли в ближайшем будущем?

  • @ron8897
    @ron8897 9 หลายเดือนก่อน

    Спасибо тебе за помощь

  • @モリトモリ
    @モリトモリ ปีที่แล้ว +9

    Забавно что я сейчас как раз делала домашку з бинарньім деревом, и єто видео просто бьіло у меня в реках
    Судьба походу

  • @call_nick
    @call_nick ปีที่แล้ว +2

    Пушкааааа

  • @An_entertaining_story
    @An_entertaining_story ปีที่แล้ว +2

    Комент для продвижения ролика*

  • @andromeda_vesna
    @andromeda_vesna ปีที่แล้ว +3

    Омг тут про красно-чёрное дерево... Жэээсть

  • @МишаБобров-и1з
    @МишаБобров-и1з ปีที่แล้ว +1

    Alek OS скажите пожалуйста в какой программе вы делаете слайды?

  • @namename7527
    @namename7527 ปีที่แล้ว +2

    Комм для продвижения ролика*

  • @artroden3746
    @artroden3746 ปีที่แล้ว +1

    6:55 то есть я могу в качестве корня взять либо 7 либо 6?

  • @VitVit312
    @VitVit312 ปีที่แล้ว +2

    Не уверен что всё хорошо понял, но на всякий случай покрасил деда

  • @AndreyMartinovich
    @AndreyMartinovich 3 หลายเดือนก่อน

    Если захотите написать сами по коду из этого видео красно черное дерево, будьте осторожны, так как здесь очень много ошибок и если все переписать код просто не будет работать

  • @KIR_Engineer
    @KIR_Engineer 6 หลายเดือนก่อน

    1. 7:39, 7:56 print(node.value) разве нам не нужно вывести ключи, т.е. print(node.key) ?
    2. 14:22 фукция leftRoatet строка node.right_.left_ = node.right_.right_; не лишняя?
    3. После вставки в узла АВЛ в дерево его нужно балансировать?
    P.s. очень крутое видео, спасибо.

  • @Secvad
    @Secvad ปีที่แล้ว

    Классно чёрное дерево это конечно хорошо, но пока сам такую структуру не напишешь, то что-то полностью понять сложновато.

  • @iliyalaz6132
    @iliyalaz6132 ปีที่แล้ว

    Очень интересно

  • @geekdev0
    @geekdev0 ปีที่แล้ว +2

    Не глядя лайк ❤

  • @ИннаЛиксакова-о4н
    @ИннаЛиксакова-о4н 11 หลายเดือนก่อน +1

    Тут даже теоретически сложно, а если ещё и писать это

  • @ТимСлим
    @ТимСлим ปีที่แล้ว +1

    Ох, что-то мне не хорошо 😁

  • @iGexogen
    @iGexogen ปีที่แล้ว

    Черные родители, черный дядя, черные дети - как будто в гетто зашел)

  • @Mercowod
    @Mercowod ปีที่แล้ว

    Спасибо 👍

  • @borshch334
    @borshch334 ปีที่แล้ว +2

    Ее новое видео!

  • @wensietland5169
    @wensietland5169 ปีที่แล้ว

    Хорошие видео, по кормену цикл идет?

  • @mianaviatte
    @mianaviatte ปีที่แล้ว +1

    Объясните, пожалуйста, почему на 17:33 в правой ветке дерева узел черный, а не красный, если у него двое детей и оба черные листы? По объяснению, он должен быть красный и тогда все красно-черное древо несбалансированно... или нет?

    • @dimondsafkage4620
      @dimondsafkage4620 ปีที่แล้ว

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

  • @antik_tm2272
    @antik_tm2272 11 หลายเดือนก่อน +2

    Как сойти с ума за 25 минут

  • @ВиноградовАндрей-ь2к
    @ВиноградовАндрей-ь2к หลายเดือนก่อน

    В параметры всех функций передается объект класса Node, я правильно понимаю, что это корень?

  • @openFrimeTv
    @openFrimeTv ปีที่แล้ว

    а не много ли две рекламы?

  • @alanturing487
    @alanturing487 9 หลายเดือนก่อน

    А где найти код из видео? И, кажется, на видео не попал метод Rotate, необходимый для реализации балансировки после удаления в КЧ дереве.

  • @mikemerinoff
    @mikemerinoff ปีที่แล้ว

    Подскажите, чем наибольший элемент дерева отличается от самого наибольшего?