Бинарное дерево. Полное понимание! Динамические структуры данных #3

Однонаправленныйсписок #1
goo.gl/JbKZgi
Двунаправленный список#2
goo.gl/j6A6HJ
✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅
Если вам нравятся мои уроки, вы хотите поддержать меня и развитие канала, то можете сделать это тут!=)
🔴🔴🔴 www.donationalerts.ru/r/simple...
или тут
🔴🔴🔴 / simplecode
✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅
Уроки по программированию
Наша группа ВК smplcode
Подписывайтесь на канал / @simplecodeit

Пікірлер: 173

  • @SimpleCodeIT
    @SimpleCodeIT6 жыл бұрын

    *Cамый лучший способ сказать "спасибо" - поставить лайк и и поделиться уроком с друзьями. Это очень мотивирует создавать полезные уроки =)*

  • @zaramar8250

    @zaramar8250

    6 жыл бұрын

    Ждем программной реализации)

  • @musaxudiyev7754

    @musaxudiyev7754

    4 жыл бұрын

    Спасибо большое за такие уроки!

  • @user-bx8kz9lo8o

    @user-bx8kz9lo8o

    2 жыл бұрын

    Какие минусы бинарного дерева?

  • @user-nz3ig3wv5j
    @user-nz3ig3wv5j3 жыл бұрын

    Большое спасибо за Ваш труд! Вы делаете нас умнее)

  • @Kobzarko
    @Kobzarko5 жыл бұрын

    Большое спасибо за ваш труд! Очень нужно реализация бинарного дерева в вашем исполнении!

  • @IT-es9yl
    @IT-es9yl Жыл бұрын

    Читал несколько методических пособий, но смысл и преимущества бинарного дерева дошли до меня только после просмотра данного видеоурока. Спасибо!

  • @user-sh5ku6hz7f
    @user-sh5ku6hz7f5 жыл бұрын

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

  • @dimasavukov6230
    @dimasavukov62305 жыл бұрын

    Сергей !!! спасибо за видео !!! У Вас талант -- объяснять не необъяснимые вещи !!!!!

  • @phello57
    @phello57 Жыл бұрын

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

  • @andrews_lerk
    @andrews_lerk3 жыл бұрын

    Просто максимально полезный поток информации)) Спасибо!! Однозначно лайк, подписка!)

  • @HerrHoldem
    @HerrHoldem6 жыл бұрын

    Очень крутые и полезные видео, спасибо!

  • @IIIA_KO
    @IIIA_KO2 жыл бұрын

    Единственный канал где понятно объясняется программирование

  • @user-ij3hx7qp4i
    @user-ij3hx7qp4i3 жыл бұрын

    Прекрасное изложение материала. Спасибо!

  • @MatamuneDT
    @MatamuneDT Жыл бұрын

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

  • @antonpashkevich5061
    @antonpashkevich50613 жыл бұрын

    Красавчик :3 Как легко и понятно объясняешь

  • @NikolayForostiy
    @NikolayForostiy5 жыл бұрын

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

  • @nomilious8093
    @nomilious80932 жыл бұрын

    Спасибо за вашу работу!!)

  • @user-rc2vh9iy6i
    @user-rc2vh9iy6i4 жыл бұрын

    Очень подробно и доходчиво, спасибо!

  • @georgyshilin7721
    @georgyshilin77214 жыл бұрын

    Спасибо, очень доступно объясняете

  • @Roman-yg8yt
    @Roman-yg8yt4 жыл бұрын

    Как всегда, максимально понятно

  • @Ermine882
    @Ermine8826 жыл бұрын

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

  • @SM-uv1rr
    @SM-uv1rr4 жыл бұрын

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

  • @pashudzu
    @pashudzu2 ай бұрын

    Очень понятное объяснение, спасибо, респект автору🎉

  • @C2H5OHH
    @C2H5OHH2 жыл бұрын

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

  • @akupreychuk6893
    @akupreychuk68936 ай бұрын

    благодарю, максимально понятное объяснение

  • @ayxanzeynalov5483
    @ayxanzeynalov5483 Жыл бұрын

    Отличное видео , именно у вас всегда всё понятно. Очень жаль что видео больше не появляются,я бы поддержал канал финансово если б мог (

  • @ivansherbinin2735
    @ivansherbinin27356 жыл бұрын

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

  • @gadjik_youtube
    @gadjik_youtube Жыл бұрын

    спасибо , стало понятно ! смотрел обход дерева на другом канале , там не уточняли , что бинарное дерево заполняется по правилам, было не понятно для чего оно вообще нужно !

  • @KurpatovInstagram
    @KurpatovInstagram6 жыл бұрын

    Cпасибо!

  • @vladalu9794
    @vladalu97946 жыл бұрын

    Большое спасибо за урок, вот бы еще реализацию увидеть)))

  • @ilikecola378

    @ilikecola378

    2 жыл бұрын

    В фотошопе 😀

  • @user-mn2po8ns2z
    @user-mn2po8ns2z3 жыл бұрын

    Очень круто!

  • @evgenykonovalov4870
    @evgenykonovalov48702 жыл бұрын

    Топ! выучил плюса на ютубе! ты бог

  • @aliakseikatsar5815
    @aliakseikatsar58152 жыл бұрын

    Огромное спасибо!

  • @overdoses1794
    @overdoses17946 жыл бұрын

    спасибо!

  • @WEBSTART-LIVE
    @WEBSTART-LIVE2 жыл бұрын

    Коротко и ёмко! Пока пил кофе, разобрался в том, что другие по часу жуют в своих видео и не могут донести

  • @user-pg1ed3jw1p
    @user-pg1ed3jw1p3 жыл бұрын

    Настолько подробно объяснил , что мне аж интересно стало откуда ты брал инфу били же сам составлял текст для объяснений ?

  • @nata4518
    @nata4518Ай бұрын

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

  • @hollowflk
    @hollowflk11 ай бұрын

    Просто и понятно😄

  • @ImVarlamov
    @ImVarlamov2 ай бұрын

    Благодарю!

  • @smrsgv
    @smrsgv5 жыл бұрын

    великолепно!

  • @SimpleCodeIT
    @SimpleCodeIT6 жыл бұрын

    #бинарноедерево #динамическиеструктурыданных #SimpleCode #урокипрограммирования

  • @martinsnarogs7530
    @martinsnarogs75304 жыл бұрын

    Кому интересно, вот реализация бинарного дерева #include #include using namespace std; struct Tree { Tree *left; Tree *right; int num; Tree(int n = 0, Tree* l = nullptr, Tree* r = nullptr) :num(n), left(l), right(r) {} // Конструктор принимает данные, и указатель на левый и правый элемент, по умолчанию инициализируя их нулями. Далее конструктор передает эти значения дальше через двоеточие }; class BTree { Tree *root; public: BTree() { root = nullptr; } ~BTree() { Tree *temp = root; int rootValue = root->num; Tree *previous = root; while (temp != nullptr && rootValue == temp->num ) { if (root->left==nullptr && root->right==nullptr) { if (previous->left != nullptr && previous->left->num == root->num) { previous->left = nullptr; } else if (previous->right !=nullptr && previous->right->num == root->num) { previous->right = nullptr; } delete root; root = temp; } else if (root->left != nullptr && root->left->num num) { previous = root; root = root->left; } else { previous = root; root = root->right; }}} void add(Tree *&t, int n) { if (t == nullptr) { t = new Tree(n); } else { if (n num) { //cout left, n); } else { add(t->right, n); //cout left); cout num right); } //else cout

  • @mikekras7646

    @mikekras7646

    3 жыл бұрын

    Скажи что делает функция inorder?

  • @user-yn7gi6os8d

    @user-yn7gi6os8d

    2 жыл бұрын

    Подтолкнул на правильную мысль. Реализовал чуть иначе, но принцип тот же. Спасибо

  • @mykhailomorhal2181
    @mykhailomorhal21816 жыл бұрын

    Спасибо)

  • @user-rm3ed2lq9d
    @user-rm3ed2lq9d3 жыл бұрын

    Эх, помню писал бинарный поиск. Хорошая практика! public int BinarySearch(int[] arr, int _item) { int _low = 0; //первый элемент массива для пойска int _high = arr.Length - 1; //последний элемент массива для пойска while (_low _item) // если много { _high = _mid - 1; // идем к найменьшему элементу } else // если мало { _low = _mid + 1; // идем к найбольшему элементу } } return 0; // если элемент не найдент, то возвращаем 0 }

  • @user-gp1qf7tp4r
    @user-gp1qf7tp4r3 жыл бұрын

    Спасибо !

  • @outcast-cr5yy
    @outcast-cr5yy6 жыл бұрын

    Спасибо

  • @alexandrsargsyan2202
    @alexandrsargsyan22022 жыл бұрын

    bratan ogromnoe spasibo ))

  • @tesohi
    @tesohi3 ай бұрын

    огрооооомное спасибо

  • @BloodVesselTM
    @BloodVesselTM3 жыл бұрын

    Продвигаем в топы

  • @andrey6552
    @andrey65522 жыл бұрын

    Спасибо :)

  • @hedgehoginthefog3896
    @hedgehoginthefog38966 жыл бұрын

    Доброго времени суток! Спасибо за качественные уроки! В одном из первых ваших видео Вы говорили, что также планируете делать уроки по C#. Хотелось бы узнать когда их ждать?

  • @ouma45

    @ouma45

    2 жыл бұрын

    Пора

  • @lizenox

    @lizenox

    2 жыл бұрын

    рора

  • @gedemin7420

    @gedemin7420

    2 жыл бұрын

    Бро, 3 года начались уроки по c#, бужу тебя, вдруг ты пропустил

  • @jangiryanarsen4952
    @jangiryanarsen49526 жыл бұрын

    Продолжайте C++ и его теорию

  • @pandalove6795
    @pandalove67954 жыл бұрын

    Еще круто что слева находиться минимальное число, а справа максимальное

  • @DD0S2
    @DD0S23 жыл бұрын

    спасибо

  • @MrCraick0
    @MrCraick04 жыл бұрын

    Вы ошиблись по поводу словоря в c#. У него под капотом не дерево, а хэш таблица и доступ по ключу у хэш таблицы всегда o(1). А у бинарного дерева в среднем о(lgn) и в худщем o(N), если мы почитаем документацию по словарю увидим, что чтение из словаря в c# занимает o(1)

  • @user-ct9oj1es2t
    @user-ct9oj1es2t5 жыл бұрын

    6:23 На самом деле очень даже можем . если создадим в двусвязном списке ссылку на средний элемент тогда то сможем отталкиваться от него и двигаться либо в сторону начала , или в сторону конца(как вариант))

  • @ramazanisaev46

    @ramazanisaev46

    5 жыл бұрын

    можно еще , используя размер и индекс .

  • @user-tr6mf1ps5n
    @user-tr6mf1ps5n2 жыл бұрын

    крутая вещь, это бинарное дерево

  • @AShahabov
    @AShahabov4 жыл бұрын

    Сделайте такое же видео по "Би-дерево".

  • @pigsel2509
    @pigsel2509 Жыл бұрын

    СПАСИБО)) Можно реализацию на с++?

  • @daniilk4994
    @daniilk499411 ай бұрын

    Еще б немного математики сюда) Расчет сложности поиска элемента например… Где-нибудь в конце, чтоб не пугать большинство)

  • @brenkovd
    @brenkovd2 жыл бұрын

    Сижу я такой смотрю про двусвязные списки и димаю , а почему бы не организовать структуру .. ( и такой в голове придумываю нечто похожее на бинарное дерево) . Открываю следующее видео и .. а ну да , точно)) Кстати эти все структуры данных описаны в книге Дональда Кнута 1 том, но как хорошо описаны я не знаю так как без математической подготовки я просто пока - что открываю книгу и просто нюхаю))) Но там описание не привязано к конкретному языку программирования , так что очень полезно

  • @user-yj3mi9em7y
    @user-yj3mi9em7y5 жыл бұрын

    крутое видео

  • @user-kf5bl1ny3m
    @user-kf5bl1ny3m6 жыл бұрын

    Сергей, спасибо за урок! Есть в планах делать уроки по формам и оконным приложениям в Visual Studio?

  • @SimpleCodeIT

    @SimpleCodeIT

    6 жыл бұрын

    есть winforms и wpf

  • @user-kf5bl1ny3m

    @user-kf5bl1ny3m

    6 жыл бұрын

    Winforms)

  • @feewre
    @feewre5 жыл бұрын

    Удаление узла из бинарного дерева поиска. Не благодарите Нерекурсивная реализация Для удаления узла из бинарного дерева поиска нужно рассмотреть три возможные ситуации. Если у узла нет дочерних узлов, то у его родителя нужно просто заменить указатель на null. Если у узла есть только один дочерний узел, то нужно создать новую связь между родителем удаляемого узла и его дочерним узлом. Наконец, если у узла два дочерних узла, то нужно найти следующий за ним элемент (у этого элемента не будет левого потомка), его правого потомка подвесить на место найденного элемента, а удаляемый узел заменить найденным узлом. Таким образом, свойство бинарного дерева поиска не будет нарушено. Данная реализация удаления не увеличивает высоту дерева. Рекурсивная реализация При рекурсивном удалении узла из бинарного дерева нужно рассмотреть три случая: удаляемый элемент находится в левом поддереве текущего поддерева, удаляемый элемент находится в правом поддереве или удаляемый элемент находится в корне. В двух первых случаях нужно рекурсивно удалить элемент из нужного поддерева. Если удаляемый элемент находится в корне текущего поддерева и имеет два дочерних узла, то нужно заменить его минимальным элементом из правого поддерева и рекурсивно удалить этот минимальный элемент из правого поддерева. Иначе, если удаляемый элемент имеет один дочерний узел, нужно заменить его потомком

  • @sorokousov

    @sorokousov

    3 жыл бұрын

    Это самая интересная часть)

  • @user-ot8fy6ow4f
    @user-ot8fy6ow4f4 жыл бұрын

    thank from in Kazahstan

  • @andrewv8140
    @andrewv81406 жыл бұрын

    А что если на вход подается ряд значений, уже отсортированный по возрастанию/убыванию, все элементы будут уходить каждый раз в правую/левую ветку? Как тогда быть с идеально сбалансированными бинарными деревьями?

  • @o_o2291

    @o_o2291

    3 жыл бұрын

    Можно сделать проверку на количество символов, разделить на 2 и брать корнем элемент под данным индексом

  • @r_lonef
    @r_lonef Жыл бұрын

    який же кайф коли музики на фоні нема, не відволікає увагу, дякую!

  • @kaynsolo
    @kaynsolo6 жыл бұрын

    Like!

  • @artemivanov2141
    @artemivanov21416 жыл бұрын

    Это вы объясняете про бинарное дерево поиска, в просто бинарном дереве данные не упорядочены

  • @delalen8012

    @delalen8012

    4 жыл бұрын

    Это точно так? Уверены?

  • @Dungeon_masster228

    @Dungeon_masster228

    4 жыл бұрын

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

  • @bogotoff

    @bogotoff

    4 жыл бұрын

    ​@@Dungeon_masster228 Бинарное дерево может быть не упорядоченным. Более того, в дереве могут быть не только числа, но и объекты любого типа. Главное условие бинарного дерева - каждый узел содержит не более двух потомков. Не более. А упорядочивание, балансирование(см. красно-черные деревья) это разновидность обычного бинарного дерева

  • @user-sy1kp8ld5o

    @user-sy1kp8ld5o

    4 жыл бұрын

    @@bogotoff Тимур прав

  • @logionthecreator864

    @logionthecreator864

    4 жыл бұрын

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

  • @alexantro1946
    @alexantro19462 жыл бұрын

    чел помог

  • @immickful
    @immickful Жыл бұрын

    Для того, чтобы формально была понятна разница м/у связанными списками и бин. деревьями надо бы указывать сложности для тех и других. А так, это "лучше и быстрее" плохо осязаемо же.

  • @Tyr4noBuba

    @Tyr4noBuba

    Жыл бұрын

    Все и так понятно..

  • @nikitun85
    @nikitun85 Жыл бұрын

    7:00 вот тут было бы неплохо, может быть, забежать вперед и рассказать, как в такое дерево добавлялось бы, например, число 2. Когда есть узел со значением 1 и из него уже выходит дочерний узел со значением 30. Это можно сделать, не переписывая дерево?

  • @unukhtv7196

    @unukhtv7196

    Жыл бұрын

    так двойка просто запишется с левой части от 30

  • @borisshalabanov4620
    @borisshalabanov46206 жыл бұрын

    Спасибо, а будет урок по реализации дерева?)

  • @mishalavik4595

    @mishalavik4595

    3 жыл бұрын

    public class BinaryTree { public int Value; public BinaryTree Left; public BinaryTree Right; public BinaryTree(int value) { Value = value; } public void Add(int value) { if (value { if (Left == null) Left = new BinaryTree(value); else Left.Add(value); } else { if (Right == null) Right = new BinaryTree(value); else Right.Add(value); } } } // Как-то так, дальше сам додумывай

  • @bocik2854

    @bocik2854

    3 жыл бұрын

    @@mishalavik4595 Спасибо!!!))

  • @quadroninja2708

    @quadroninja2708

    2 жыл бұрын

    Вроде же рассказали

  • @vladsn.2119

    @vladsn.2119

    2 жыл бұрын

    @@mishalavik4595 Рекурсивная реализация?

  • @Mike-hp3fh
    @Mike-hp3fh4 жыл бұрын

    6:15 >> Поиск по индексу будет проходить очень медленно, и нам никак не обойти ... Можно обойти - нужно хранить в узле дерева количество всех дочерних узлов.

  • @hecfi9461
    @hecfi94613 жыл бұрын

    Понятное о непонятном.

  • @user-uj8bq7go3t
    @user-uj8bq7go3t6 жыл бұрын

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

  • @SimpleCodeIT

    @SimpleCodeIT

    6 жыл бұрын

    Примет скоро будет в уроках по STL.

  • @MsT0mahawk

    @MsT0mahawk

    2 жыл бұрын

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

  • @user-ck1vp7fp9l
    @user-ck1vp7fp9l Жыл бұрын

    Здравствуйте а для python бинарное дерево также создается?

  • @user-nw7eb3rb9y
    @user-nw7eb3rb9y4 жыл бұрын

    А как происходит удаление элементов?

  • @ANTONY-vk3pu
    @ANTONY-vk3pu2 жыл бұрын

    А можно реализацию на c#?

  • @user-mt6wt9vc1x
    @user-mt6wt9vc1xАй бұрын

    Нужно уточнение, что это бинарное дерево поиска :D

  • @gsh137
    @gsh137 Жыл бұрын

    это конечно замечательно, но жаль не рассказано как добавлять, если это какое то промежуточное значение (47 например)

  • @fiendgrin

    @fiendgrin

    5 ай бұрын

    оно будет с правой стороны 46, нет никаких промежуточных значений

  • @adiletastana2781
    @adiletastana27815 жыл бұрын

    А как быть с удалением данных из дерева? Надеюсь будет дополнение к видео

  • @justr4390

    @justr4390

    5 жыл бұрын

    Дерево будет сортироваться заново

  • @AdCoder
    @AdCoder6 жыл бұрын

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

  • @Igor_Morozov

    @Igor_Morozov

    6 жыл бұрын

    GameStudio Вы искренно верите, что работодатель будет ковыряются в вашем коде? ))) А в общем, для этого и существуют либы, паттерны, ну и копипаст ). Просто без понимания вы не сможете их применить и будете изобретать велосипед. А изобретательство велосипедов оно такое. Часто даже затягивает, как правило во вред результату. )

  • @timur2887
    @timur2887 Жыл бұрын

    А как происходит построение дерева?

  • @vladislavjukov5764
    @vladislavjukov57642 жыл бұрын

    Спасибо за урок! Но есть вопрос) А как дерево поведет себя при вставке одинаковых чисел (дубликатов)?

  • @inf888

    @inf888

    2 жыл бұрын

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

  • @bossmusa9075
    @bossmusa90753 жыл бұрын

    11:05

  • @pelevin_idi_nahui
    @pelevin_idi_nahui3 жыл бұрын

    Привет от учеников 21й школы !

  • @gromitwoll6907
    @gromitwoll69072 жыл бұрын

    Что делать если список начинается с единицы ?

  • @mlpython1089
    @mlpython10892 жыл бұрын

    Т.е. это аналогия дерева решений в машинном обучении.

  • @arthurradiuk9503
    @arthurradiuk95035 жыл бұрын

    Дякую

  • @user-gi2nb1jg2v
    @user-gi2nb1jg2v3 жыл бұрын

    Дикшенери в шарпе - не дерево, а хэш таблица, если не ошибаюсью

  • @SimpleCodeIT

    @SimpleCodeIT

    3 жыл бұрын

    угу

  • @MsT0mahawk

    @MsT0mahawk

    2 жыл бұрын

    Верно.

  • @user-bx8kz9lo8o
    @user-bx8kz9lo8o2 жыл бұрын

    Какие минусы бинарного дерева?

  • @bossmusa9075
    @bossmusa90753 жыл бұрын

    и когда юзать бинарное дерево, а когда список?

  • @NofaceAndrew
    @NofaceAndrewАй бұрын

    Разве мапы и ассоциативные массивы не используют хэш-таблицы и хэш-сеты?

  • @maksimanvar7361
    @maksimanvar73614 жыл бұрын

    +

  • @ilyasabutalibli8086
    @ilyasabutalibli80862 жыл бұрын

    у меня вопрос : мы же можем под 49 слева указать 30 также

  • @fiendgrin

    @fiendgrin

    5 ай бұрын

    нет не можем 30 меньше 45

  • @rasrabotchik
    @rasrabotchik Жыл бұрын

    для чего оно нужно?

  • @axentfly8945
    @axentfly89455 жыл бұрын

    А если в примере к головному числу 50 добавить 50, то что??

  • @KiberDoktoR

    @KiberDoktoR

    3 жыл бұрын

    Зависит от реализации. В эталоне - элемент не вставляется как в множестве (сете). Либо вставляется слева как в мультисете.

  • @trixion74

    @trixion74

    Жыл бұрын

    @@KiberDoktoR а что на счет добавления в места, которые уже заняты (к примеру, если попробовать добавить число 52 на моменте 7:25 , то что-то не складывается)

  • @anonymoususer6411
    @anonymoususer64114 жыл бұрын

    +1

  • @errorgrisha
    @errorgrisha4 жыл бұрын

    Сложность доступа я так понимаю log(N)?

  • @Alh45011

    @Alh45011

    4 жыл бұрын

    да

  • @KiberDoktoR

    @KiberDoktoR

    3 жыл бұрын

    Для сбалансированного дерева. Для худшего случая дерева это - n.

  • @bandirdana-1144
    @bandirdana-11442 жыл бұрын

    А почему 50

  • @user-wb5wj6ib6y
    @user-wb5wj6ib6y Жыл бұрын

    Жаль ничего не сказано о ситуации, когда место для значения, которое хотелось бы хранить в дереве - занято

Келесі