Binary Search Tree in Python

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ก.ย. 2024
  • Today we learn how to implement binary search trees in Python.
    ◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾
    📚 Programming Books & Merch 📚
    🐍 The Python Bible Book: www.neuralnine...
    💻 The Algorithm Bible Book: www.neuralnine...
    👕 Programming Merch: www.neuralnine...
    🌐 Social Media & Contact 🌐
    📱 Website: www.neuralnine...
    📷 Instagram: / neuralnine
    🐦 Twitter: / neuralnine
    🤵 LinkedIn: / neuralnine
    📁 GitHub: github.com/Neu...
    🎙 Discord: / discord
    🎵 Outro Music From: www.bensound.com/

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

  • @SaifyKhan-o9v
    @SaifyKhan-o9v 7 หลายเดือนก่อน +20

    No BS, no time wasting, no unnecessary talk. Straight to the point. Beautiful. W channel.

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

    I love how you do things fast and don't make a big deal about writing good code

  • @PepperingthePolls
    @PepperingthePolls 5 หลายเดือนก่อน +5

    I never think that anyone teach BST so fast and clearly, but he is.

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

    Literally best video ,i have watched like 10 other channels. i understood the best with this one! Thank you!

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

    If you had posted this video 5 days ago. I would for sure be able to pass my exam on algorithm :c

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

    At around 4:39 I think "if not self.value:" will only work as intended if we already know that we deal only with non-zero numbers(not 0 and 0.0) and non-empty iterables(not ( ,), [ ] and "") as they all will evaluate to False and we will be replacing that 0(or whatever) with value but not None which is the default and we don't want. In most cases, the "if not x:" and "if x is None:" structures are interchangable(again, non-zero numbers and non-empty iterables) but you really need the understanding when to use which one
    Edit: for the iterables, it could work if we make some custom parent class of the iterable which we implement comparing methods in, but what I mentioned before still applies to numbers

  • @Lerka-ok5ey
    @Lerka-ok5ey ปีที่แล้ว +1

    Thank you so much, this was really helpful! Spent ages trying to work this out before coming across this video)

  • @024_habeeb7
    @024_habeeb7 11 หลายเดือนก่อน +1

    better than anything out there on the internet. great work man
    ]

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

    Awesome video finally a good one that helped me grasp the concepts. Thank You😊

  • @-CSE-ArnabSannigrahi
    @-CSE-ArnabSannigrahi 10 หลายเดือนก่อน +11

    There is literally no one who has taught this concept in python this easily so far in my knowledge.......thnank you

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

    14:25 Why do you suddenly need to return the function call? Isn't it enough to simply call the function like you've done up until this point.

  • @Лена-в1н6ы
    @Лена-в1н6ы 7 หลายเดือนก่อน

    Thank you! For greener like me it was so much understandable!

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

    W video i watched a ton of videos on search trees and this is the only one that made complete sense!!

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

    Thank you, your explanation was super clear and super helpful!

  • @islamic_insights_daily
    @islamic_insights_daily 2 ปีที่แล้ว

    thank you so much for this man, respect from Algeria

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

    Finally a tutorial on how to actually use this thing.

  • @watson7813
    @watson7813 11 หลายเดือนก่อน +1

    Thank you so much! Absolute godsend!

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

    Finally found amazing explanation of binary tree implementation. Wow

  • @AnonYmous-pi1su
    @AnonYmous-pi1su 2 ปีที่แล้ว +1

    Nice, thx for all your hard work making tutoring videos

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

    Maaaan ! God Bless You . May Your Loved Ones Live Forever Alongside with you

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

    you should be teaching CS at MIT dude! amazing video!

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

    You are the BESTTTTTTTT‼

  • @LilJollyJoker
    @LilJollyJoker 5 หลายเดือนก่อน +1

    Amazing Vid!

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

    Your Video was Very Helpfull...

  • @EBEAST-tb1et
    @EBEAST-tb1et 3 หลายเดือนก่อน

    Great help cheers mate

  • @Zethos-qe2nj
    @Zethos-qe2nj 6 หลายเดือนก่อน

    This guy is the goat

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

    Thank you for providing value

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

    you are a very awesome teacher

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

    He codes so fast 😮

  • @Jelvix
    @Jelvix 2 ปีที่แล้ว

    Great...good job!

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

    I don't understand how your traversals ever printed anything but the most left node? It's clearly my thinking thats wrong, I'm aware, but you never go back up one after printing, so how does it happen?

    • @scottmcfarland7842
      @scottmcfarland7842 ปีที่แล้ว +6

      Hey, I think I can help you if you still don't understand it. Think of recursive functions like this: each time that the function gets called but hasn't made it to the last line of code, there is a function that hasn't been completed yet. That function will be waiting in the computer's memory for its time to continue where it left off. In his example where the root node is 10, by the time we get to Node 1 there are 4 unfinished function calls.
      Node 1 is the first node where self.left is no longer True or in other words where a left node doesn't exist. We print the value of the current node which is 1 and continue to check if there is a right node. There is no right node so that essentially terminates that function call.
      We then return to the most recent function call from Node 2. Upon returning to this function call we continue where it stopped. We had already checked if the left node exists so the next line of code gets executed which is the print statement. This prints the current value which is 2 and now we check if a right node exists. A right node does exist so we call the inorder traversal function on the right node.
      Left doesn't exist for node 3 so we print 3 to the terminal. We check if the right exists and it doesn't so that terminates that function call and we return to the next incomplete function call which is node 4...
      Hope this explanation helps

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

    Thank you sir.

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

    Thanks

  • @charan2446
    @charan2446 2 ปีที่แล้ว

    Great man .......

  • @abhinavchoudhary6849
    @abhinavchoudhary6849 2 ปีที่แล้ว

    Awesome bro

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

    Nacho Varga

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

      Lol kind of same but he is certainly smarter XD

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

    Perfect

  • @alst4817
    @alst4817 14 วันที่ผ่านมา

    The non binary network diagram on the thumbnail was triggering me 😂

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

    If I run your code is error

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

    Can binary search tree have duplicate values??

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

      Yes, I think it would go to the right of its parent node

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

    You are a G

  • @krunalakbari9447
    @krunalakbari9447 2 ปีที่แล้ว

    waiting for the linklist

  • @murshid-9188
    @murshid-9188 ปีที่แล้ว

    How will we delete a node from it