B-дерево

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

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

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

    Ты самый умный и уграный священник из всех, кого я видел)

  • @wani4kaa
    @wani4kaa Год назад +33

    Очень рад, что несмотря все виды горя, которые автору довелось пережить за эти 25 минут, на доске все еще оставалось Би-дерево

  • @ИванВоробьев-л4ы
    @ИванВоробьев-л4ы 3 года назад +21

    Вот к таким священникам надо на службу ходить. Спасибо вам . Очень доходчиво и понятно.

    • @chingiskuular1013
      @chingiskuular1013 2 часа назад

      Отец, я не понимаю как устроены индексы в постгрес. Сын мой, этож битри деревья! Сейчас объясню.

  • @SergeyLobanov-y4w
    @SergeyLobanov-y4w 21 день назад

    Крутая подача и ход мыслей, однозначно респект!

  • @nikolailalai
    @nikolailalai 5 лет назад +59

    "Обычно у нас деревья растут сверху вниз... .... ... Не говорите биологам!" :D

  • @TheRockmannn
    @TheRockmannn 2 года назад +6

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

  • @unsub8584
    @unsub8584 Год назад +13

    Иисус лично решил спуститься с небес, что б пояснить за B деревья... Воистину лучший

  • @s1mpleman782
    @s1mpleman782 Месяц назад

    Спасибо, сразу стало понятно как работают b-деревья

  • @sofiiatymosheva6075
    @sofiiatymosheva6075 11 месяцев назад +1

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

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

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

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

    Спасибо, Владимир. Вы наш Павел Флоренский.

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

    Добрый день!
    Благодарю Вас что записали это видео

  • @KonstantinGanchin
    @KonstantinGanchin 10 лет назад +2

    Отличное объяснение! Этим и отличается хороший учитель: простым и доходчивым языком донести сложную тему! Спасибо!
    Ещё было бы здорово сравнить с B+ деревом, чтобы не путать их. Ведь B+ дерево тоже относится к сбалансированным, но имеет свои нюансы.

  • @prosto10ia74
    @prosto10ia74 11 месяцев назад

    Бро это лучшее видео п о структурам данных которое я видел, большое человеческое спасибо

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

    Довольно страстное и выразительное изложение. Лайк

  • @ЕкатеринаЕлисейкина-х5ж

    Спасибо Вам огромное, Владимир, за такое доходчивое объяснение темы!

  • @klipaklip4344
    @klipaklip4344 9 лет назад +31

    Жаль не рассказал про удаление ключа

  • @ПетяПетя-ш4т
    @ПетяПетя-ш4т 7 лет назад +1

    Владимир спасибо Вам за ваши лекции по алгоритмам и структурам данных. Очень приятно,в красках, доходчиво преподносите материал! Успехов Вам и развития!)

  • @РоманЦукерман-ь2о
    @РоманЦукерман-ь2о 4 года назад +98

    Мне кажется, что надо назвать твой канал: IT-Иисус. Это будет полностью соответствовать, т.к объясняешь ты, как боженька и очень похож на него)

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

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

    • @AZart-infa
      @AZart-infa 2 года назад +5

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

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

      уже есть такой канал. Coding Jesus называется....

  • @ALEX-yq7qs
    @ALEX-yq7qs 2 года назад

    Спасибо за информативное и интересное видео!

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

    Из всего найденого в ютубе это видео самое доходчивое.

  • @DeerRadio
    @DeerRadio 9 лет назад +2

    Как обычно от нечего делать хотел оставить какой-нибудь язвительный комментарий в интернете, сделав это под видео. Но посмотрел все видео, - действительно классное объяснение, понял многие моменты работы B-деревьев (я не ходил в университет полтора года из-за работы и пропустил эту тему). Очень понравилось, круто, спасибо :)

    • @DeerRadio
      @DeerRadio 9 лет назад

      Я еще диплом пишу, про самообучающуюся модель для 2d real-time игры с видом сверху;
      Вот, я вообще нейронные сети использовал, но неделю назад посетила идея попробовать сделать обучение и хранение знаний в дереве.
      Т.е. подается какой-то вектор состояний системы, которые вычисляет бот, на B-дерево знаний; Там по некоторым формулам идет приблизительный поиск подобного вектора в дереве; Если такой есть, то выполняются действия по закону, описанному в найденной ноде.
      Если нода с таким вектором не найдена, то ожидаем результата действия (т.е., "встретить лицом снаряд танка", игра про танчики :D). Если результат негативный для бота, то в ноде это отражается как-то. Если положительный, то увеличивается.
      Короче, я еще не реализовывал, т.к. нейронки мучаю
      Как думаете, стоит ли издеваться над B-деревом таким способом?:) Или нейронные сети реализуют то же самое, но лучше в моей задаче?

    • @VladimirMozhenkov
      @VladimirMozhenkov  9 лет назад +1

      Forged Spirit Ну нейронной сети всё равно где информация хранится. Можно делать и в B-дереве, алгоритму ведь будет всё равно. Тут более, как мне кажется, интересна будет сама функция обучения. Определить хорошо/плохо будет легко, а вот дать достаточное количество вводов, и затем прогнать достаточное количество раз... Хотя если вы делаете оба танка автоматическими и они начинают биться против друг друга, то второй вопрос решается. А по поводу первого, тут наверно проще просто экспериментально посмотреть.

  • @СергейТюнтяев-й1л
    @СергейТюнтяев-й1л 10 лет назад +31

    Здравствуйте. Вы очень хоршо и доходчиво объясняите.
    Мне кажется или на 15 минуте вы "16" подвинули вверх, но 48 так и не добавили? Или я что то не так понял?
    А так спасибо Вам большое, был бы рад если бы вы продолжали и разобрали к примеру красно-черное дерево=)

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

      А вот вопрос кстати очень интересный. Потому что он по идее того должен был поменять местами 23 и 43, так как нода получалась не сортированной.

    • @Михаил-щ6н5з
      @Михаил-щ6н5з Год назад

      @@pyramidhead9692 48 просто запишется правее 23, так же как записывались 13 и 5 в самом начале.

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

    "не говорите биологам" в голос. однозначно лайк

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

    Мужик, ты очень крут! Спасибо большое!

  • @victorklimov5254
    @victorklimov5254 7 лет назад

    Спасибо, Володя, за лекцию!

  • @АнтонКурилов-к8л

    Так бы в универе преподавали. Спасибо огромное!

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

    "Обычно у нас растут деревья сверху вниз"... далее лицо Володи....

  • @КимЧенОрк
    @КимЧенОрк 2 года назад

    Как чётко.. каждое слово в душу...

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

    классно! наглядно понятно и с примером!

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

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

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

    Идеально!!! Все просто и понятно , спасибо!!

  • @НатальяКарпеко-о6ъ
    @НатальяКарпеко-о6ъ 4 года назад

    Спасибо за лекцию.

  • @defeatthesun
    @defeatthesun 10 месяцев назад

    Лучших объяснений не видел

  • @-MaCkRage-
    @-MaCkRage- 2 года назад

    Когда смотришь видео айти-батюшки 8-летней давности...
    Без шуток,объяснятешь ты как боженька)

  • @ИгорьГолуб-н6щ
    @ИгорьГолуб-н6щ 3 месяца назад

    Крутой видос, спасибо!

  • @baron2272
    @baron2272 11 месяцев назад

    Хотелось бы предварительно осветить понятия бинарного дерева и нода, а потом уже переходить к B-деревьям. Излагаете хорошо.

  • @АртемВирский
    @АртемВирский Год назад

    Хорошо объяснил, очень доходчиво!
    Но, не лишним было бы рассказать и про удаление элементов, доступ к элементам.

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

    Разжевал, так разжевал! Спасибо тебе мужик!

  • @SergeiShaikin
    @SergeiShaikin 10 лет назад

    Огромное, огромное и еще раз огромное спасибо!!! Очень помогло!!!

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

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

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

    Очень хорошо объяснено!

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

    Пожелание - очень хочется понять знания из области аналитической механики. Спасибо!

  • @ОлександрГрищенко-ч4ш

    а где делось число 48?

  • @БабичевАлексей-и8ю

    Отлично объяснил! Спасибо огромное)

    • @VladimirMozhenkov
      @VladimirMozhenkov  10 лет назад +7

      Очень рад, что помог. Это весьма сложная структура, мне понадобилось очень много времени для выяснения сути происходящего. Обычно всё объясняют математически, и приходится очень долго вникать, чтобы понять весьма простые вещи.

    • @БабичевАлексей-и8ю
      @БабичевАлексей-и8ю 10 лет назад +4

      Это точно, уж очень бывает перегибают. www.cs.usfca.edu/~galles/visualization/Algorithms.html Тут хорошо интерактивно можно въехать в суть, но блин без понятной теории это тоже тяжело даётся:)

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

    шикарно обьяснил

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

    Спасибо, Владимир, все доходчиво и понятно на примере. Про 48 все ясно - оно максимально и роли не играет, нечаянно пропустили. Возник другой вопрос - Вы говорите, что при M=2 дерево будет бинарным. Если не изменяет память, то в бинарном дереве количество потомков НЕ БОЛЕЕ двух, т.е. включая 1. Но ведь это не верно для B-деревьев при M=2? Или я что-то напутал?

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

    Thanks, Jesus, very informative !

  • @lisijuke
    @lisijuke 7 лет назад +3

    Насчет числа 48, это он случайно пропустил :) Просто представьте, что мы провернули все это для числа 15, то есть наша последовательность выглядит так: 8,13,5,0,16,7,23,15, суть от этого не меняется.

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

    Борода потерял 48 где-то по дороге

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

    Снял бы для полноты картины и про Dancing tree

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

    Спасибо, отец

  • @gaben-agent
    @gaben-agent 4 года назад

    Когда мы 0 добавляли, то получается, что мы как бы не крайние элементы вниз убирали, а наоборот центральный наверх, судя по дальнейшей логике добавления.

  • @maxim-banaev
    @maxim-banaev 10 лет назад +6

    Спасибо за экскурс по b-деревьям. Но как же удалять элементы из b-деревьев?

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

      Если нужно удалить, то горе нам!

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

      Там нужно у правых сыновей красть по ситуации.

  • @alexgorbel9072
    @alexgorbel9072 7 лет назад

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

  • @Влад-Донцов
    @Влад-Донцов 2 года назад

    Где эти деревья интересно используются

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

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

  • @ИльяМаглич-ь2е
    @ИльяМаглич-ь2е 2 года назад

    При разрыве берётся центральное или среднее? Просто если есть 2 ключа, то и центрального там не будет

  • @DennisTurbay
    @DennisTurbay 9 лет назад

    Спасибо, классное видео!

  • @YanPashkovsky
    @YanPashkovsky 8 лет назад +1

    Владимир, напишите в комментарии куда вы 48 вставили!

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

    Спасибо завашу работу. У меня один вопрос. Вы говорили про то, что указаталей может быть либо 0, либо 6. Что имело ввиду, так как по факту вы показали иначе. Спасибо!

    • @gogol-mogol779
      @gogol-mogol779 4 года назад +3

      Я это понял иначе. Если у тебя есть блок с 5 значениями, то на следующем уровне у тебя будет либо 0 нод либо 6

  • @ДианаАимбетова-и6м
    @ДианаАимбетова-и6м 10 месяцев назад

    Пожалуйста объясните как так получилось что если м=4 на левой стороне в самом нижнем уровне оказалось 4 нод а не 3? Ведь по правилам В деревьев должно быть не больше или равно м-1?

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

    а как смещаются элементы при m=5?

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

    Подписался!

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

    Огонь чувак

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

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

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

    забыли сказать что фактор для нижних уровней должен быть 2t-1, чтобы при разбиении в случае заполнения разбивалось на два равных ноды, и оставался один элемент для переноса вверх

  • @sanya9740
    @sanya9740 11 месяцев назад

    Вообще ничего не понял. Как так получается, что на верхнем уровне 3 значения, а на нижнем больше 4 нод, если сами говорили про количество значений+ 1?

  • @ВячеславЮшков-п9щ

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

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

    Подскажите, пожалуйста, может кто-либо знает:
    "Как найти элемент В-дерева, предшествующий данному ключу?"

  • @marknezamov310
    @marknezamov310 7 лет назад +1

    А что по поводу удаления из B-дерева?

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

    Я не понял вот что. Индексы в оракле - сбалансированные деревья. Но какой у них тогда уровень?

  • @АртемПрокопенко-в6и

    Спасибо! Помогло.

  • @helengoodify
    @helengoodify 11 месяцев назад

    А все-таки, куда у вас делось число 48?

  • @yauhenineshyn1019
    @yauhenineshyn1019 9 лет назад +1

    Вы говорите что можно сбалансировать Btree дерево с М = 2. Но ведь для этого придется добавлять сразу по два значения в дерево. Иначе оно не будет сбалансированным. Другими словами - Btree дерево можно полностью сбалансировать только если в нем нечетное кол-во значений, я правильно понимаю?

    • @VladimirMozhenkov
      @VladimirMozhenkov  9 лет назад

      +Yauheni Neshyn Нет, оно балансируется обязательно всегда, с любым количеством значений. Вы просто сбросите одно значение из корня вниз.

  • @ВладимирКовяко
    @ВладимирКовяко 3 года назад

    Гений!

  • @dmitryspiridonov9607
    @dmitryspiridonov9607 8 лет назад

    Благодарю!

  • @RS-ue4wg
    @RS-ue4wg 2 года назад

    Не знал, что Джаред Лето... разбирается в теории алгоритмов.

  • @eugenepashkevich5725
    @eugenepashkevich5725 9 лет назад +4

    Володя, спасибо за объяснение!
    Скажите пожалуйста, а не могли бы вы объяснить как работают B+ деревья?
    Благодарю.

    • @VladimirMozhenkov
      @VladimirMozhenkov  9 лет назад +3

      +Eugene Pashkevich С ними не работал, но может узнаю и запишу если будет муза )))

  • @evgedoo
    @evgedoo 7 лет назад +1

    А куда делось число 48?

  • @logmeinish
    @logmeinish 8 лет назад +1

    Ребят, не очень понял на 8:40 - 9:00
    Почему максимум может быть 4 дочерних ноды и максимум 3 значения?

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

      Как я понял, M=4 означает, что 4 указателя, от одного указателя 1 дочерна , поэтому и 4 дочерних.
      А в 4 указателя можно вписать только 3 значения, потому-что нужно, чтобы указатели окружали их с обоих сторон.
      Возможно уже поздно, но всё же

  • @marinabergner3312
    @marinabergner3312 10 лет назад +10

    а 48 почему-то и не вставили

  • @СергейШанов-я6н
    @СергейШанов-я6н 10 лет назад

    Спасибо!

  • @nurzhanamantay8729
    @nurzhanamantay8729 7 лет назад

    Благодарю

  • @TherePython
    @TherePython 10 месяцев назад

    Если кто не знал, узлы он называет нодами(лично я не слышал про такое), иб тоже кто то затупил

  • @47vint
    @47vint 10 лет назад

    Что насчет удаления? Будет видео?

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

    а как би-дерево может быть бинарным, если в нем 2 элемента?

  • @КапитанЕнот
    @КапитанЕнот 4 года назад

    Спасибо

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

    Хм... Всё ещё не понял что это за деревья такие, как с ними работать и как это работает в БД

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

    Прошу пояснений 4.10 говорим количество нод 0 или разрядность дерева. В дальнейшем слышу может быть меньше. Противоречие

  • @СтепанЛеонов-ф2щ
    @СтепанЛеонов-ф2щ 5 лет назад

    А почему вы добавили 7 именно на конец левого узла, а не в начало правого, потому что 7 ближе к 5-и чем к 13-и?

  • @alexanderkuleshov7430
    @alexanderkuleshov7430 9 лет назад

    Почитав несколько ресурсов про b-tree, я ни где не встречал такого обозначения как "M" (уровень). Везде (например, wiki) фигурирует некий параметр "t", от которого зависит количество ключей в ноде (при этом, в корне и в узлах, разные ограничения на количество ключей). Поясните, пожалуйста, существует ли какая-то зависимость между t и M?

    • @VladimirMozhenkov
      @VladimirMozhenkov  9 лет назад +2

      +Alexander Kuleshov Может это из-за того, что я постоянно на английском всё читаю. В англоязычной википедии есть m - максимальное количество дочерних узлов, но они её сделали мальнькой. en.wikipedia.org/wiki/B-tree#Definition
      Не стоит заострять внимание на том, какая буква используется. Можно было взять что-то из греческого, еврита, арабского, да даже кириллицы, смотря на русскую википедию мне кажется тут о том-же самом говорят. Сколько может быть "ссылок" на дочерние элементы у данного.

    • @MrGOODliker
      @MrGOODliker 8 лет назад +1

      Дело в том, что и в англоязычной и в русскоязычной википедии, да и в книгах с теорией о B-деревьях говорится, что если уровень дерева M, то количество ключей в узле может быть от 1 до 2*М-1. Из вашего видео ясно видно, что количество ключей в узле не превышает М-1. Тут получается расхождение, совсем разные деревья получатся... Так где же правда?:)

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

      @@MrGOODlikerНашел годньй пример дерева www.geeksforgeeks.org/delete-operation-in-b-tree/?ref=lbp
      // Allocate memory for maximum number of possible keys
      // and child pointers
      keys = new int[2*t-1];
      C = new BTreeNode *[2*t];
      там бьла эта строчка отсюда получаетса что t это количество значений и указателей в одном узле.

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

    пушка

  • @АндрейМиронов-х7ч
    @АндрейМиронов-х7ч 10 лет назад

    Раз уж от 63..inf в последнем диапазоне, то тогда -inf..2 в первом диапазоне =)

    • @VladimirMozhenkov
      @VladimirMozhenkov  10 лет назад +3

      Ну я выбирал неотрицательные числа у себя в голове... вот и отсутствие отрицательной бесконечности. Но наверно с чисто технической стороны вы совершенно правы! q;-)))=

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

    За всем этим весельем потеряли 48, куда его добавили то

  • @glavniikoldun
    @glavniikoldun 4 года назад +5

    не рассказанная глава Евангелие, пишники ставьте лайк, если вы от рамона

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

      Воистину, едины в Залупиносе....

  • @ВеронікаКотелевська
    @ВеронікаКотелевська 3 года назад +1

    Раздражает постоянное перебирание фломастеров + это тормозит. Пожалуйста, используйте 1 цвет или хотя бы колпачок не закрывайте

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

    это беларуский акцент?

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

      У меня? На вряд-ли. Я там никогда не был. Но мне говорили люди, что моя буква "ч" очень похожа на беларусскую.

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

    48 так и не добавили

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

    какой ж ты волосючий:D