Tree (General Tree) - Data Structures & Algorithms Tutorials In Python #9

Sdílet
Vložit
  • čas přidán 21. 07. 2024
  • Tree data structure is used to represent hierarchical data such as organization hierachy, product categories, geographic locations etc. In this video, we will go over general tree data structure. We will cover binary trees in another tutorial. We will implement tree in python and build a tree of electronic item categories.
    Code: github.com/codebasics/data-st...
    Exercise: github.com/codebasics/data-st...
    Topics
    00:00 introduction
    00:26 What is tree data structure
    03:47 Tree implementation in python
    21:54 Exercise
    #tree #pythontree #treedatastructure #datastructures #algorithms #python
    Do you want to learn technology from me? Check codebasics.io/?... for my affordable video courses.
    Next Video: • Binary Tree Part 1 | B...
    Previous video: • Queue - Data Structure...
    Complete playlist: • Data Structures And Al...
    🌎 My Website For Video Courses: codebasics.io/?...
    Need help building software or data analytics and AI solutions? My company www.atliq.com/ can help. Click on the Contact button on that website.
    #️⃣ Social Media #️⃣
    🔗 Discord: / discord
    📸 Dhaval's Personal Instagram: / dhavalsays
    📸 Instagram: / codebasicshub
    🔊 Facebook: / codebasicshub
    📝 Linkedin (Personal): / dhavalsays
    📝 Linkedin (Codebasics): / codebasics
    📱 Twitter: / codebasicshub
    🔗 Patreon: www.patreon.com/codebasics?fa...

Komentáře • 216

  • @codebasics
    @codebasics  Před 2 lety +3

    Do you want to learn python from me with a lot of interactive quizzes, and exercises? Here is my project-based python learning course: codebasics.io/courses/python-for-beginner-and-intermediate-learners

    • @smaransure2234
      @smaransure2234 Před měsícem

      Please sir don't inject coronavirus into my computer
      I haven't looked at solutions yet but please don't inject coronavirus into it I beg you

  • @malikrumi1206
    @malikrumi1206 Před 2 lety +67

    Ok, this video is two years old, and you've moved on to a lot of other things. But I just want to point out - because I've searched - while there are plenty of so-called tutorials about binary trees, there is almost nothing about general trees. I get it, people always want to take the easiest option, even if that doesn't really help their followers in the long run - or the short run, for that matter, because they quickly find out that too simplistic tutorials don't get you very far in the real world. So this is an appreciation, and a thank you, for the thoroughness and completeness of your work, and your interest in actually helping people learn what they need to know.

  • @sukurcf
    @sukurcf Před 3 lety +54

    The best thing about your videos is that you provide a real world example for every data structure that we are going to discuss.

    • @mohammadmaximilian3077
      @mohammadmaximilian3077 Před 2 lety +1

      i know Im asking randomly but does anyone know a tool to get back into an Instagram account??
      I was dumb lost my account password. I would love any tips you can give me.

  • @narinpratap8790
    @narinpratap8790 Před 3 lety +10

    Bro this is awesome! Your DS & Algo tutorials are so easy to understand and they also cover the fundamentals very well. Thanks so much for doing this :D

  • @souvikmitra2652
    @souvikmitra2652 Před 3 lety +21

    sir , I had my computer teachers in my college . But you are the one who actually taught me the Data Structure concepts and made me think why they were important and why we need to do know it . Some teachers sometimes dont know , how critical their roles are in some one life . Happy Teachers day to you even though today is not the teacher's day

  • @Mohamed-hm7jo
    @Mohamed-hm7jo Před 4 lety +13

    We are waiting for your data structure continuation series...please post asap so we make use of this quarantine time.Also request a solved example per ds model.
    Thanks

  • @d25102
    @d25102 Před 10 měsíci +2

    genuinely one of the most helpful tutorial series on this website! thank you!

  • @tharindusathsara3414
    @tharindusathsara3414 Před rokem

    Really very happy about finding such an obvious and understood funny video series about data structures and algorithms. Everything is 100% clear with deeply explained theories and well-understood practicals. Also, the exercise series with the videos are highly appreciated. Dear sir thank you so much for the fantastic video series. ❤💖

  • @changqinglu1692
    @changqinglu1692 Před 3 lety +2

    Thank you so much for the tutorial! I'm new to data structure and all your explanations help a lot! Hopefully it will help me land a job one day. :)

  • @MilahnMartin
    @MilahnMartin Před 2 lety +1

    Watching this is 2021 for my Software Engineering's degree and man you are awesome ! Thank you for this awesome video !

  • @alooooshm
    @alooooshm Před 4 lety +1

    Thanks a lot! We are waiting for your data structure continuation series...

  • @karthikeyani07
    @karthikeyani07 Před 4 lety +2

    This video is amazing ! Looking forward to upcoming videos .I am a beginner and this data structure series helps me a lot!!

  • @Ankurkumar14680
    @Ankurkumar14680 Před 4 lety +2

    Very informative video sir, thanks for sharing....request to upload next one soon :)

  • @tionut4228
    @tionut4228 Před 3 lety +3

    Love your data structures and alogrithms series!

  • @mosesasiago
    @mosesasiago Před 2 lety

    Thank you
    #codebasics, I wasn't understanding Tree implementation in python until I got this tutorial. Thank you

  • @celestinejoy9519
    @celestinejoy9519 Před 3 lety

    Wow so nice .Your dsa playlist is so good and u explained it very well . It was really helpful. Also the exercises were interesting.

  • @haokang1375
    @haokang1375 Před 2 lety

    Awesome Video! You made a clear explaination of everything!

  • @Vinicius-nd8nz
    @Vinicius-nd8nz Před 4 lety

    Thank you for the video!!! Wonderful explanations!

  • @francescodiniccolo
    @francescodiniccolo Před rokem

    Absolutely brilliant and enjoyable to watch, thank you!

  • @muhammedrajab2301
    @muhammedrajab2301 Před 3 lety

    This tutorial was a bit tricky but I managed to learn this and I did the exercises correctly without looking the solution. Thanks a lot Sir!!!!!!

  • @CommonNoun9
    @CommonNoun9 Před 3 lety +1

    Really like your videos man, keep 'em coming

  • @davidrowlands8548
    @davidrowlands8548 Před 2 lety

    Yet another excellent lesson. Thanks again.

  • @justbewithme2009
    @justbewithme2009 Před 2 lety

    I recently completed my MS in engineering in US. Have been learning python specifically to enhance my ML skills. Your videos have been really helpful. Appreciate your efforts.

  • @platnnum1129
    @platnnum1129 Před 3 lety

    Your videos saved my this semester thank you so much

  • @lucas86999
    @lucas86999 Před 4 lety

    Thank you Dhaval for this, this is what I was looking for. Great jog!!!!!!!!!

  • @sanjeevKumar-eg6hp
    @sanjeevKumar-eg6hp Před rokem

    Thanks for a such simple and short explanation all information was to the point.

  • @ccdtech5394
    @ccdtech5394 Před 2 lety

    Thanks for the video, I've had a harder time finding n-ary tree information, so much is about binary trees

  • @ludviklamb
    @ludviklamb Před 3 lety +1

    I came to this video after not understanding Udacity’s explanation of it. You’ve done a fantastically better job at explaining this. Thank you !

  • @ece-b-087-thamaraiselvansp5

    Really helpful for for every person because I college level every teacher they teach only the theory concept but you can clear the concept real life examples In Linux file system is like this model.before seen this video I am not understanding where we can use the tree concept in real life.but know I am understanding very clearly.please upload these kind of real life data structure concept.❣️

  • @runeheidt
    @runeheidt Před 3 lety +1

    This was soooo great. You helped me a great deal. Thank you.

  • @dennisearle
    @dennisearle Před 7 měsíci

    Fantastic! Thanks 👍

  • @jorgegonzaloalfaro5378
    @jorgegonzaloalfaro5378 Před 3 lety +1

    Thanks so much for this!!!

  • @pouyapargam5275
    @pouyapargam5275 Před 2 lety

    Nice representation, thank you.

  • @annlaosun6260
    @annlaosun6260 Před 2 měsíci

    Thank you so much. This tutorial and excerise is the most helpful one for me to understand python class.

  • @techatival
    @techatival Před rokem

    Thank you! This was really usefull.

  • @k0tyak1t15
    @k0tyak1t15 Před 7 měsíci

    that's a brilliant guide thank you!

  • @Sirius39170
    @Sirius39170 Před 2 lety +1

    Great video.

  • @anaghaareddy9318
    @anaghaareddy9318 Před rokem

    Thank you sir these videos are helping a lot

  • @thecamelbackfiles3685
    @thecamelbackfiles3685 Před 3 lety

    Wow. So clear!

  • @elchiringuitodenaty3336

    Thank you so much, very useful 🙌🙌

  • @aaronaaronaaron5922
    @aaronaaronaaron5922 Před 3 lety +1

    This tutorials are as funny as excellent!! Thanks 😁😁😁

  • @hiraunzela4378
    @hiraunzela4378 Před rokem

    This is insane.thanks

  • @cristinocanga
    @cristinocanga Před rokem

    This is pure gold
    Got say that

  • @deepam.g4558
    @deepam.g4558 Před 3 lety

    Very useful. Thank you

  • @salin.chaudhary
    @salin.chaudhary Před rokem

    thank you very much for such an awesome explanation 🤗

  • @jorgegonzaloalfaro5378
    @jorgegonzaloalfaro5378 Před 3 lety +1

    bro you are so good at teaching!! thank you!!

  • @babatombana4530
    @babatombana4530 Před rokem

    It's amazing!

  • @podaisotopaclaudia
    @podaisotopaclaudia Před 3 lety

    This video helped me understand a lot this topic, thank you !!!

  • @art_ik
    @art_ik Před 3 lety

    Thanks, Best tutorials to get started

  • @priyanshupurohit5431
    @priyanshupurohit5431 Před rokem

    ThankYou very Much sir

  • @vileider
    @vileider Před 2 lety

    21:48 XD XD. Like I would hear myself sometimes. You have got my like for it.

  • @ahmedkhalid6481
    @ahmedkhalid6481 Před měsícem

    THANK YOU SO MUCH !

  • @carzycults6119
    @carzycults6119 Před 2 lety +1

    I compiled the code without maintaining parent link it worked fine for traversing from root to leaf node

  • @PaulinhoOsfaya1
    @PaulinhoOsfaya1 Před 4 lety +55

    hahahahahahaah "if you directly look the solution, I gonna inject corona virus in your computer!" Dude, I laughed so hard! Awesome!

  • @thisissharief7651
    @thisissharief7651 Před 3 lety

    your knowledge in oops concept is excellent ...

  • @rameshthamizhselvan2458

    @codebasics Thanks so much, and I really appreciate how helpful your videos are! I've been working with Python data structures for more than a year and have about 7 years of experience. I am very comfortable using Python data structures. Does learning Java data structures help me crack FAANG?

  • @StudyGyaan
    @StudyGyaan Před 3 lety

    Awesome Tutorial - when ever i want to revise, i just go through these tutorials

    • @codebasics
      @codebasics  Před 3 lety +1

      I am happy this was helpful to you.

    • @StudyGyaan
      @StudyGyaan Před 3 lety

      @@codebasics I saw ur comment, at the same time I was watching ur binary search video 😁

  • @digvijaywaghela3408
    @digvijaywaghela3408 Před 2 lety

    only one word.... Awesome!

  • @Turjak_art
    @Turjak_art Před 3 lety

    Very nice sir, thank you

  • @netraamrale3850
    @netraamrale3850 Před 2 lety

    This is superb....!!!!!!!

  • @PriyankaSingh
    @PriyankaSingh Před 3 lety +7

    Can you cover more topics as a part of this series such as heaps, priority queues?

  • @iShubhamPanchal
    @iShubhamPanchal Před 4 lety +1

    🙏Dhanyavaad 💕

  • @user-mq8pw6oi7g
    @user-mq8pw6oi7g Před 22 dny

    The best video ever

  • @jagritisehgal3867
    @jagritisehgal3867 Před 4 lety

    great explanation

  • @MegaMaliak
    @MegaMaliak Před 3 lety

    Could you possibly advise how to print the results in a table where every line and column consists of in line reading of parent to furthest child? example,
    parent | child 1 | apple
    parent | child 1 | banana
    parent | child 2 | apple
    parent | child 2 | banana
    ?

  • @moodmaker2796
    @moodmaker2796 Před 2 lety

    Haha, I watched your vids about Classes, came back to this one listened to "child is an instance of tree node class, i will have a parent property and ..." and my brain instantly shuts off, not understanding the relationship xD
    I get inheritance within a new object. But the jiggle juggle of two methods within the main class creating the child and the parent within itself is killing me hahaha

  • @studyonly9080
    @studyonly9080 Před 5 měsíci

    Thank you for the playlist ❤❤❤
    For Q.1 , I found it difficult to solve the logic....
    For Q.2) It was pretty simple
    Using this playlist for my GATE preparation 💪💪💪

  • @KavitaSingh-uw3cn
    @KavitaSingh-uw3cn Před 2 lety

    Hey , can you tell me how i can print the parent nodes of the any search element inside the general tree?

  • @troymendoza1388
    @troymendoza1388 Před 2 lety

    I really appreciate this video. I do have a question though. In a work environment are we expected to assign the child nodes statically or is there a way to dynamically set the child nodes?

    • @codebasics
      @codebasics  Před 2 lety +1

      You can set nodes dynamically. When you do that you need to balance out a tree by re arranging nodes

  • @MadhuExplorer
    @MadhuExplorer Před 4 lety +1

    Thanks for creating data structure videos..

    • @codebasics
      @codebasics  Před 4 lety

      Glad you like them!

    • @naveenkrishnavamshi2502
      @naveenkrishnavamshi2502 Před 3 lety

      @@codebasics can you explain me this "child.parent = self" i did not get it properly in the video

  • @tusharsrivastava4328
    @tusharsrivastava4328 Před 4 lety +1

    sir please make videos on how to deal with text data in machine learning?

  • @mananpatel884
    @mananpatel884 Před 2 lety

    just awesome

  • @a.human.
    @a.human. Před 2 lety

    No lie, this was one of the best tree tutorials ever! definitely recommending to each of my friends :)

  • @kartikchauhan3692
    @kartikchauhan3692 Před 2 lety

    in order traversal is only returning left values and root node when i run program

  • @FahmiEshaq
    @FahmiEshaq Před 7 měsíci

    Thank you

  • @geetikas3286
    @geetikas3286 Před rokem

    Thank you so much for this video. Is it possible to print the level of leaf node using the technique at @19:00 minute

  • @anshumansinha5874
    @anshumansinha5874 Před rokem

    Hey Dhawal. Why did you not make a different class for build tree and add methods like add_child inside that?

  • @osyman782
    @osyman782 Před rokem +1

    Hello Sir, how does one do DFS iteratively on this general tree structure. I keep running into issues. def print_tree(self):
    print(self.data)
    if self.children:
    for child in self.children:
    child.print_tree() def print_tree(root):
    if root is None:
    return []
    stack = []
    stack.append(root)
    while stack:
    curr = stack.pop()
    if curr is not None:
    print(curr.data)
    stack.append(curr.children)

  • @shellysinha5429
    @shellysinha5429 Před 2 lety

    Write a function called searchBFS which given the tree or graph as defined below returns every number smaller than 4 in the order it was found using the breadth first technique.

  • @hassaanraheem5644
    @hassaanraheem5644 Před 4 lety +1

    Sir kindly upload arrays data structures 1d , 2d and 3d using numpy in python 9 days from my DS exam

  • @ankit7918
    @ankit7918 Před 4 lety +1

    Thank you sir 🙂

  • @pprabhakar8531
    @pprabhakar8531 Před rokem

    I got a small doubt. print_tree is a method of class (Treenode) right. at the end of the code, we used (print_tree) method. Rather than using (root.Treenode._print_tree) why we are using just(root._print_tree)

  • @obadajaber2759
    @obadajaber2759 Před 3 lety

    amazing

  • @kacjugr
    @kacjugr Před 2 lety

    I often find that writing iteration-over functions in the same space as recursion-into functions can cause people a ton of issues with understanding. Instead, you could also write get_level() recursively like this:
    def get_level():
    if not self.parent:
    return 0
    else:
    return self.parent.get_level() + 1

  • @balajichippada
    @balajichippada Před 3 lety

    Sir can you explain how to convert this tree into nested dictionaries please

  • @Semoga_Viral
    @Semoga_Viral Před 2 lety

    thank's for your video ..
    I wanna ask you something, about how to make program Multi Level Marketing that saved in FIrebase with Python . Thankyou sir

  • @RunyCalmera
    @RunyCalmera Před 3 lety

    How would you print it visually?

  • @anuvind_m
    @anuvind_m Před rokem

    For printing levels, I found a much better and easy implementation. Hope this helps!
    def printTree(self, level=0):
    indent = " " * level
    if level==0:
    print(self.data)
    else:
    print(indent +"|__"+ self.data)
    if self.children:
    for child in self.children:
    child.printTree(level + 1)

  • @flyingsalmon
    @flyingsalmon Před 2 lety

    Can you show us how to get the number of children in a given level? Something like get_children(self, level=0) method and passed param level (int) would return total number of children at that specified level.

  • @Windiddy
    @Windiddy Před 3 lety

    Hi so this code printed a tree structure but it does not create a tree structure folders. How do I make folders using this code?

  • @nrrajan6802
    @nrrajan6802 Před 4 lety +6

    Hi can you explain how to build this tree dynamically, ie values coming from an array or json

    • @simplygood6335
      @simplygood6335 Před 3 lety

      There are no problems in doing that stackoverflow.com/questions/444296/how-to-efficiently-build-a-tree-from-a-flat-structure
      You just need to have 1 loop, on each step you check, if element has a parentId, if true then get the parent from the original array then do parentNode.children.add(elementNode); elementNode.parent = parentNode; (I have omitted parent/element node creation)

  • @gowrik.s8478
    @gowrik.s8478 Před 4 lety +1

    then how to check the level of leaf node

  • @jaysoni7812
    @jaysoni7812 Před 4 lety +5

    hello sir i writing this program by my self and what i did change the code
    instead of creating get_level function i pass level parameter in print_tree() method, that's decrease the line of code
    here it's my code
    def print_tree(self, level = 0):
    prefix = " " * level + "__|" if level != 0 else ""
    print(prefix, self.data)
    for c in self.children:
    c.print_tree(level + 1)

    • @codebasics
      @codebasics  Před 4 lety +1

      Nice tip actually. Yes this can make the code more compact

  • @millerlou7294
    @millerlou7294 Před 3 lety

    Does anyone know how to iterate through only one branch of the Tree? Like only the Laptops or only Cell Phones.

  • @abhishektripathi6596
    @abhishektripathi6596 Před 2 lety

    Thanks sir

  • @salsabillaaliskaputri6931

    did thats tree can clustering some topic from large text documents like twitter?

  • @meralmaradia4774
    @meralmaradia4774 Před 2 lety

    Hello Sir, can you please create a video developing of project using only DSA ?

  • @songsport1917
    @songsport1917 Před 3 lety

    Молодец ❗❗❗

  • @siddhanth177
    @siddhanth177 Před 3 lety

    I Directly looked at the solution! :P

    • @codebasics
      @codebasics  Před 3 lety +2

      now you are doomed :) you need to send your laptop for corona virus quarantinee :)

    • @sakshamsinha6945
      @sakshamsinha6945 Před 3 lety

      @@codebasics lol

  • @jayakrishna1951
    @jayakrishna1951 Před 3 lety

    can we draw an employee hierarchical tree structure by reading "string" values from a locally saved csv or excel file using python?

    • @codebasics
      @codebasics  Před 3 lety

      yes you can. You need to have a parent column where a supervisor of an employee is mentioned. Now you can use any tree library for building the tree or just use the tree class that I built in this video. stackoverflow.com/questions/2442014/tree-libraries-in-python

    • @jayakrishna1951
      @jayakrishna1951 Před 3 lety

      @@codebasics I am new to this and I am trying to draw an hierarchy tree using values from CSV file (no integers only strings) I have been searching online but everywhere it's either hardcoded values or numerical tree can you please make an vedio in this