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

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

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

  • @SimpleCodeIT
    @SimpleCodeIT  6 лет назад +132

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

    • @zaramar8250
      @zaramar8250 6 лет назад +2

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

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

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

    • @user-bx8kz9lo8o
      @user-bx8kz9lo8o 2 года назад

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

  • @user-nz3ig3wv5j
    @user-nz3ig3wv5j 4 года назад +20

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

  • @Kobzarko
    @Kobzarko 5 лет назад +20

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

  • @user-sh5ku6hz7f
    @user-sh5ku6hz7f 5 лет назад +41

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

  • @IT-es9yl
    @IT-es9yl Год назад +3

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

  • @HerrHoldem
    @HerrHoldem 6 лет назад +6

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

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

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

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

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

  • @user-ij3hx7qp4i
    @user-ij3hx7qp4i 3 года назад +3

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

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

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

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

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

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

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

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

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

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

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

  • @SimpleCodeIT
    @SimpleCodeIT  6 лет назад +11

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

  • @user-rc2vh9iy6i
    @user-rc2vh9iy6i 4 года назад +1

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

  • @Roman-yg8yt
    @Roman-yg8yt 4 года назад +1

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

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

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

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

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

  • @SM-uv1rr
    @SM-uv1rr 4 года назад +1

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

  • @NikolayForostiy
    @NikolayForostiy 5 лет назад +1

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

  • @KurpatovInstagram
    @KurpatovInstagram 6 лет назад +3

    Cпасибо!

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

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

  • @akupreychuk6893
    @akupreychuk6893 7 месяцев назад

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

  • @pashudzu
    @pashudzu 3 месяца назад

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

  • @ivansherbinin2735
    @ivansherbinin2735 6 лет назад +4

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

  • @vladalu9794
    @vladalu9794 6 лет назад +14

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

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

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

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

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

  • @user-mn2po8ns2z
    @user-mn2po8ns2z 3 года назад +1

    Очень круто!

  • @overdoses1794
    @overdoses1794 6 лет назад +8

    спасибо!

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

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

  • @nata4518
    @nata4518 2 месяца назад

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

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

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

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

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

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

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

  • @ImVarlamov
    @ImVarlamov 3 месяца назад

    Благодарю!

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

    Кому интересно, вот реализация бинарного дерева
    #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 < root->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 < t->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 года назад

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

  • @user-pg1ed3jw1p
    @user-pg1ed3jw1p 4 года назад +2

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

  • @user-gp1qf7tp4r
    @user-gp1qf7tp4r 3 года назад

    Спасибо !

  • @mykhailomorhal2181
    @mykhailomorhal2181 6 лет назад

    Спасибо)

  • @outcast-cr5yy
    @outcast-cr5yy 6 лет назад +1

    Спасибо

  • @user-rm3ed2lq9d
    @user-rm3ed2lq9d 3 года назад

    Эх, помню писал бинарный поиск. Хорошая практика!
    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
    }

  • @WEBSTART-LIVE
    @WEBSTART-LIVE 2 года назад

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

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

    bratan ogromnoe spasibo ))

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

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

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

    Спасибо :)

  • @hedgehoginthefog3896
    @hedgehoginthefog3896 6 лет назад +14

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

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

      Пора

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

      рора

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

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

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

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

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

    спасибо

  • @jangiryanarsen4952
    @jangiryanarsen4952 6 лет назад

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

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

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

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

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

  • @user-ct9oj1es2t
    @user-ct9oj1es2t 5 лет назад +1

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

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

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

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

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

  • @andrewv8140
    @andrewv8140 6 лет назад +8

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

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

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

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

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

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

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

  • @user-yj3mi9em7y
    @user-yj3mi9em7y 5 лет назад

    крутое видео

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

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

  • @kaynsolo
    @kaynsolo 6 лет назад +1

    Like!

  • @user-tr6mf1ps5n
    @user-tr6mf1ps5n 3 года назад

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

  • @user-kf5bl1ny3m
    @user-kf5bl1ny3m 6 лет назад +1

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

  • @user-nw7eb3rb9y
    @user-nw7eb3rb9y 4 года назад

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

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

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

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

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

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

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

  • @ANTONY-vk3pu
    @ANTONY-vk3pu 2 года назад

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

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

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

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

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

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

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

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

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

  • @adiletastana2781
    @adiletastana2781 5 лет назад +1

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

    • @justr4390
      @justr4390 5 лет назад +1

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

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

    чел помог

  • @Mike-hp3fh
    @Mike-hp3fh 4 года назад +2

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

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

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

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

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

  • @AdCoder
    @AdCoder 6 лет назад

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

    • @Igor_Morozov
      @Igor_Morozov 6 лет назад +3

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

  • @user-mt6wt9vc1x
    @user-mt6wt9vc1x 2 месяца назад

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

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

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

  • @user-uj8bq7go3t
    @user-uj8bq7go3t 6 лет назад +3

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

    • @SimpleCodeIT
      @SimpleCodeIT  6 лет назад +1

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

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

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

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

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

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

    11:05

  • @borisshalabanov4620
    @borisshalabanov4620 6 лет назад +43

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

    • @mishalavik4595
      @mishalavik4595 3 года назад +14

      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 < 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 3 года назад

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

    • @vladsn.2119
      @vladsn.2119 2 года назад

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

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

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

  • @user-bx8kz9lo8o
    @user-bx8kz9lo8o 2 года назад

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

  • @NofaceAndrew
    @NofaceAndrew 2 месяца назад

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

  • @bandirdana-1144
    @bandirdana-1144 2 года назад +1

    А почему 50

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

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

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

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

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

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

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

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

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

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

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

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

    • @fiendgrin
      @fiendgrin 6 месяцев назад

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

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

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

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

      да

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

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

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

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

    • @fiendgrin
      @fiendgrin 6 месяцев назад

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

  • @artemivanov2141
    @artemivanov2141 6 лет назад +41

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

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

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

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

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

    • @bogotoff
      @bogotoff 4 года назад +11

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

    • @user-sy1kp8ld5o
      @user-sy1kp8ld5o 4 года назад +1

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

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

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

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

    А если в корне - 50, а оба последующих числа - меньше 50ти?

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

      Будет перекос в одну сторону

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

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

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

    Дякую

  • @user-ot8fy6ow4f
    @user-ot8fy6ow4f 4 года назад

    thank from in Kazahstan

  • @Mike-hp3fh
    @Mike-hp3fh 4 года назад

    9:33 Бинарный поиск в связном списке? Это возможно?

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

      Это возможно в любой отсортированной коллекции.

    • @Mike-hp3fh
      @Mike-hp3fh 4 года назад

      @@aznaurataev9497 только если возможно получить элемент по индексу за время O(1)

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

      @@Mike-hp3fh в плюсах бинарный поиск - это функция работающая с итераторами, ей все равно за сколько есть возможность получить Эл-т, если она есть. Другое дело если мы говорим о её скорости работы. Но факт есть факт и бин поиск на листе запустить можно.

  • @user-pd4gt9zz9c
    @user-pd4gt9zz9c 6 лет назад +1

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

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

      Сам думал на эту тему. Оказалось просто, при реализации дерева можно прописывать условия типа >= или = число 50 попадет вправо, а если

    • @user-gy5lg4vp9i
      @user-gy5lg4vp9i 4 года назад

      @@axentfly8945 я видал делали так:
      < в левую часть
      > в правую часть
      == игнорировали число

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

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

  • @user-gi2nb1jg2v
    @user-gi2nb1jg2v 3 года назад +1

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

  • @-vd2gk
    @-vd2gk Год назад

    А если число повторяется?

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

      В бинарном дереве все числа-ключи уникальны