B-Trees Made Simple | Introduction to B-Trees | B-Tree Operations | Geekific

Поделиться
HTML-код
  • Опубликовано: 22 июл 2024
  • Support us on Patreon: / geekific
    Discord Community: / discord
    GitHub Repository: github.com/geekific-official/
    Our trees journey began by introducing Binary Search Trees, and couple videos later we tackled self-balancing binary search trees, such as AVL trees and Red-Black trees. However, if we need to store large amounts of data, the self-balancing property will not be enough to prevent the huge increase of the tree height. Therefore, we may find ourselves in need to store more than one key or value in a single node. Or, we may think that having more than two children per node can help us shrink the height of the tree. And that is exactly what B-Trees, the topic of this video, allow us to do.
    Timestamps:
    00:00 Introduction
    00:41 What are B-Trees?
    02:22 B-Tree Properties
    04:36 Inserting an element in a B-Tree
    06:37 Deleting an element from a B-Tree
    10:18 Searching for an element inside a B-Tree
    11:14 Traversing a B-Tree
    12:15 Thanks for Watching!
    If you found this video helpful, check other Geekific uploads:
    - Generics and Wildcards in Java Made Simple: • Generics and Wildcards...
    - Project Lombok Annotations Explained: • Project Lombok Annotat...
    - Introduction to Trees, Basic Tree Terminology and Different Types of Trees: • Introduction to Trees ...
    - Binary Search Trees (BST) Explained and Implemented in Java: • Binary Search Trees (B...
    - AVL Trees Explained and Implemented in Java: • AVL Tree Explained and...
    - Red-Black Trees Explained and Implemented in Java: • Red-Black Trees Explai...
    #Geekific #DataStructures #BTrees

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

  • @cooperwilk4255
    @cooperwilk4255 2 года назад +38

    Wow, I can’t believe how high quality this video/lesson is, you deserve more recognition, very well done

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

      Thanks a lot for your kind words :) Am glad it was helpful!

  • @taylorluttrell-williams6632
    @taylorluttrell-williams6632 2 года назад +25

    This video was incredibly helpful! Thank you for taking the time to upload such quality content.

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

      Glad you enjoyed it! You're most welcome :)

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

    Many think before this video, I had a hazy understanding of promotion and splitting. Thanks for making such a great video.

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

    Thank you so much! I (along with the whole community) will be waiting for the video on the implementation of B-Trees as much time as needed! 😎

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

      You got it! Thanks for the support :)

  • @pronobsarkerrahul7051
    @pronobsarkerrahul7051 8 месяцев назад +1

    Crisp and Clear! Looking forward to the implementation video!

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

    Super quality lesson. Keep up man I watched 4 videos for like1 hour waste. now only 12mins and easily consumed every info. Great video

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

    Thank you. Pretty simple and understandable.

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

    Your explanations are very precise. You have a great command of the English language and your accent is pleasing, too.

  • @jzkio1160
    @jzkio1160 2 года назад +12

    Most underrated video on youtube

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

      Thanks a lot man :)

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

    Great video! Super simple and usefull

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

    Great explanations! You really can get a college-level CS education online for free. I could've learned everything you need to know about binary search trees of all sorts in a week with your videos. (I'm in college right now and we are spending much more time than that.)

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

      That is exactly why I decided to start this channel, I had the same struggles! Keep it is up and glad I could help :)

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

    Best video for understanding B tree and its operations, thank you!

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

      Glad it was helpful!

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

    Yes, I would also love to see the implementation of BTree.

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

    Amazing video! Thank you so much.

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

      Glad you liked it!

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

    Yes, I would love to see an implementation of BTree.

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

    Super explanation! Thank you!

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

      Glad it was helpful!

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

    This video is terrific 💯💯. Love u guyzz

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

    Amazing video. Really the only one I could actually understand.

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

      Thank you!! Glad I could be of help :)

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

    wow you explain so well!

  • @oliviaclarke-edwards4584
    @oliviaclarke-edwards4584 2 года назад

    Great video - thank you!

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

      Glad you liked it! My pleasure :)

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

    What an explanation 🙌

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

    well explained video. Rly helpful

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

    best vid on B-trees ive seen

  • @tuval-v7p
    @tuval-v7p 12 дней назад

    thanks

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

    This is too good.

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

    please do implementation of B trees in java
    not only b trees upload other data structure implementations also in java i love it
    thank you so much

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

    Saved my day!

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

    Wow❤

  • @TechieTech-gx2kd
    @TechieTech-gx2kd 3 месяца назад

    How do you know the order of a B tree or is this something we decide when building it ?

  • @TechieTech-gx2kd
    @TechieTech-gx2kd 3 месяца назад

    @Geekific Without implementation the deletion and traversal was confusing, can you please share the implementation video

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

      Will add it to my list of upcoming videos, Stay tuned!

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

    I really enjoyed this video and the series -- but I wish you had also covered B+Trees and compared them with the B-Tree. If possible, I'm looking forward to watching that!

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

      Glad you liked it! Sure no worries, I'll make sure to add it to my list of upcoming videos. Stay Tuned!

  • @nathan_falkon36
    @nathan_falkon36 9 месяцев назад

    Thank you, and yes I want b trees implementation in javaa

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

    Amazing Explanation! You rocked!

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

      Glad you think so!

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

    Great video, thanks a lot !
    Question - in Wikipedia (en.wikipedia.org/wiki/B-tree ) and in most of the literature, it seems that what you call here leaves (which is here the lowest nodes that carry information) also need to have at least m/2 children - are there different definitions of B-Tree regarding the leaf nodes ?

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

      Glad you liked it! Yes it is not uniform and may differ from person / perspective to another. The link you sent is actually a good reference, you can find your answer under the "Differences in terminology" section. Cheers!

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

    Hallo ,
    Why did we do a balnace when we deleted 1. Was the Tree not balanced ?

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

      Hello, this is to ensure the first property discussed at around 2:40 :)

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

    In 8:23 when we removed 1, why did we have to do the rotation, weren't all the B- Tree conditions satisfied?

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

      Node 2 did not have enough children!

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

    Hello, I would like to know if the insertion and deletion of b tree is the same as in the b+ tree?

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

      We will be expanding on this topic in a future video :) Stay Tuned!

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

      I appreciate your reply and I will also watch your upcoming videos, but could you already tell me, if it is true or false, because I have a test in 2 days, where I will need this information:)

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

      @@liorio2847 The distinction lies in two main aspects: all leaf nodes are linked together in a doubly-linked list and data is only stored in the leaf nodes and internal nodes only forward you while searching to the correct leaf node. With that said, yes, the insertion and deletion will vary between the two. Hope this helps! Cheers :)

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

      yes, it helps!:)

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

    Could you also make it for B+, please ?

  • @-CSE-AnkitaPanja
    @-CSE-AnkitaPanja Год назад

    yes (answer to the question asked in the video)

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

    i wished there was also implementation of B-Trees

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

      Working on it! Stay Tuned :)

  • @TechieTech-gx2kd
    @TechieTech-gx2kd 3 месяца назад

    No implementation on this one ?

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

    Why the initial tree is order of 3?

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

      A tree of order 3 is a tree in which a node can have at mode 3 children and 2 values per nodes; and that is exactly the case here!

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

      @@geekific thanks for a prompt answer!

  • @user-tt4hp4lc7m
    @user-tt4hp4lc7m 8 месяцев назад

    Sir Btrees in C++ please

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

      We might in the future extend the channel to include other programming languages! Stay Tuned!

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

    What is 'm'?

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

      At around 1:10 we state that 'm' is the maximum number of children a node can have, making 'm-1' the maximum number of keys that can be stored inside a single node.

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

      @@geekific are we usually given ‘m’ when creating or using a b-tree?

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

      It depends on the context, however yes most of the time 'm' will be a pre-thing to bare in mind while tackling B-Trees.

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

    great video but get a better mic or maybe tweak with your audio input settings just some friendly criticism

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

      Thank you! Will look into it :)
      Edit: After checking, I actually did a few tweaks on the audio after uploading this video back then, check this one: ruclips.net/video/r8KJ2AJWkHs/видео.html and let me know!

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

      @@geekific I think audio settings are not the issue but the mic is, try getting a condenser microphone if you have the budget for it, your current mic sounds "tinny" where the highs are too high with no lows at all. Condenser microphones allow you to get much closer to them and can lead to much "fuller" and cleaner audio. Try looking into microphones that people use for podcasts, oh and go for audio interface + mic instead of usb plug and play, it reduces jitter by a ton.

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

    why couldnt we just put 28 as a new child node of 20, because it still has room for one more child

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

      Hello! In this example we were discussing a b-tree of order 3, which means that every node can have 3 children at most and can store 2 keys. At 5:00, 28 cannot fit next to 22 and 25 in the same node because each node can store a maximum of 2 keys, additionally 28 cannot be an independent child of 20 because as we mentioned in 4:00 when a node has 3 children then it must store 2 keys and if we do that the node storing element 20 will only have a single key, hence why we promoted 25. Hope this answers your question :)

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

    Matter is good but don't use voice effects

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

      Glad it is! Will keep this in mind!

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

    Sorry, but the sound is unbearable. Artificially wide stereo with terrbily noisy filtering.

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

      We worked on improving the sound over the months. Watch one of our newest uploads and let me know!

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

    You French?

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

      I do speak Français fluently, but I am not French :)

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

      @@geekific The way you speak, especially the way you use a wrong stress of words, sounded just like Linux Experiment (RUclips channel), who is a French.