No video

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

  Рет қаралды 257,501

codebasics

codebasics

Күн бұрын

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/cod...
Exercise: github.com/cod...
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.co...

Пікірлер: 218
@codebasics
@codebasics 2 жыл бұрын
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 2 ай бұрын
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 2 жыл бұрын
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 3 жыл бұрын
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 3 жыл бұрын
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.
@souvikmitra2652
@souvikmitra2652 3 жыл бұрын
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
@narinpratap8790
@narinpratap8790 3 жыл бұрын
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
@d25102
@d25102 11 ай бұрын
genuinely one of the most helpful tutorial series on this website! thank you!
@MilahnMartin
@MilahnMartin 2 жыл бұрын
Watching this is 2021 for my Software Engineering's degree and man you are awesome ! Thank you for this awesome video !
@tionut4228
@tionut4228 3 жыл бұрын
Love your data structures and alogrithms series!
@codebasics
@codebasics 3 жыл бұрын
i'm glad :)
@Mohamed-hm7jo
@Mohamed-hm7jo 4 жыл бұрын
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
@ludviklamb
@ludviklamb 3 жыл бұрын
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 !
@codebasics
@codebasics 3 жыл бұрын
Glad it was helpful!
@mosesasiago
@mosesasiago 2 жыл бұрын
Thank you #codebasics, I wasn't understanding Tree implementation in python until I got this tutorial. Thank you
@Sirius39170
@Sirius39170 2 жыл бұрын
Great video.
@helloworldcsofficial
@helloworldcsofficial 20 күн бұрын
Great explanation. Thank you!
@PaulinhoOsfaya1
@PaulinhoOsfaya1 4 жыл бұрын
hahahahahahaah "if you directly look the solution, I gonna inject corona virus in your computer!" Dude, I laughed so hard! Awesome!
@codebasics
@codebasics 4 жыл бұрын
Ha ha.. 😊👍
@justbewithme2009
@justbewithme2009 2 жыл бұрын
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.
@narayandatye9282
@narayandatye9282 2 жыл бұрын
Hey man I needed some help , if you don't mind.
@carzycults6119
@carzycults6119 2 жыл бұрын
I compiled the code without maintaining parent link it worked fine for traversing from root to leaf node
@ece-b-087-thamaraiselvansp5
@ece-b-087-thamaraiselvansp5 3 жыл бұрын
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.❣️
@vileider
@vileider 2 жыл бұрын
21:48 XD XD. Like I would hear myself sometimes. You have got my like for it.
@annlaosun6260
@annlaosun6260 3 ай бұрын
Thank you so much. This tutorial and excerise is the most helpful one for me to understand python class.
@Ankurkumar14680
@Ankurkumar14680 4 жыл бұрын
Very informative video sir, thanks for sharing....request to upload next one soon :)
@sanjeevKumar-eg6hp
@sanjeevKumar-eg6hp Жыл бұрын
Thanks for a such simple and short explanation all information was to the point.
@karthikeyani07
@karthikeyani07 4 жыл бұрын
This video is amazing ! Looking forward to upcoming videos .I am a beginner and this data structure series helps me a lot!!
@codebasics
@codebasics 4 жыл бұрын
Glad you liked it karthi
@francescodiniccolo
@francescodiniccolo Жыл бұрын
Absolutely brilliant and enjoyable to watch, thank you!
@dennisearle
@dennisearle 8 ай бұрын
Fantastic! Thanks 👍
@studyonly9080
@studyonly9080 6 ай бұрын
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 💪💪💪
@anaghaareddy9318
@anaghaareddy9318 Жыл бұрын
Thank you sir these videos are helping a lot
@aaronaaronaaron5922
@aaronaaronaaron5922 3 жыл бұрын
This tutorials are as funny as excellent!! Thanks 😁😁😁
@codebasics
@codebasics 3 жыл бұрын
Glad you like them!
@haokang1375
@haokang1375 3 жыл бұрын
Awesome Video! You made a clear explaination of everything!
@davidrowlands8548
@davidrowlands8548 2 жыл бұрын
Yet another excellent lesson. Thanks again.
@ccdtech5394
@ccdtech5394 2 жыл бұрын
Thanks for the video, I've had a harder time finding n-ary tree information, so much is about binary trees
@tharindusathsara3414
@tharindusathsara3414 Жыл бұрын
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. ❤💖
@PriyankaSingh
@PriyankaSingh 3 жыл бұрын
Can you cover more topics as a part of this series such as heaps, priority queues?
@karthik9354
@karthik9354 3 жыл бұрын
Sure
@parthbansal3172
@parthbansal3172 3 жыл бұрын
Hii
@k0tyak1t15
@k0tyak1t15 8 ай бұрын
that's a brilliant guide thank you!
@codebasics
@codebasics 8 ай бұрын
Glad you liked it!
@pouyapargam5275
@pouyapargam5275 2 жыл бұрын
Nice representation, thank you.
@moodmaker2796
@moodmaker2796 2 жыл бұрын
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
@priyanshupurohit5431
@priyanshupurohit5431 Жыл бұрын
ThankYou very Much sir
@cristinocanga
@cristinocanga Жыл бұрын
This is pure gold Got say that
@jorgegonzaloalfaro5378
@jorgegonzaloalfaro5378 3 жыл бұрын
bro you are so good at teaching!! thank you!!
@codebasics
@codebasics 3 жыл бұрын
Glad, you liked it. 😊
@anuvind_m
@anuvind_m Жыл бұрын
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)
@alooooshm
@alooooshm 4 жыл бұрын
Thanks a lot! We are waiting for your data structure continuation series...
@techatival
@techatival Жыл бұрын
Thank you! This was really usefull.
@CarrotOmelette
@CarrotOmelette 4 жыл бұрын
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. :)
@muhammedrajab2301
@muhammedrajab2301 3 жыл бұрын
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!!!!!!
@platnnum1129
@platnnum1129 3 жыл бұрын
Your videos saved my this semester thank you so much
@StudyGyaan
@StudyGyaan 3 жыл бұрын
Awesome Tutorial - when ever i want to revise, i just go through these tutorials
@codebasics
@codebasics 3 жыл бұрын
I am happy this was helpful to you.
@StudyGyaan
@StudyGyaan 3 жыл бұрын
@@codebasics I saw ur comment, at the same time I was watching ur binary search video 😁
@ahmedkhalid6481
@ahmedkhalid6481 2 ай бұрын
THANK YOU SO MUCH !
@harishhere574
@harishhere574 7 күн бұрын
computing A level saver
@runeheidt
@runeheidt 3 жыл бұрын
This was soooo great. You helped me a great deal. Thank you.
@codebasics
@codebasics 3 жыл бұрын
Glad it was helpful!
@salin.chaudhary
@salin.chaudhary Жыл бұрын
thank you very much for such an awesome explanation 🤗
@celestinejoy9519
@celestinejoy9519 3 жыл бұрын
Wow so nice .Your dsa playlist is so good and u explained it very well . It was really helpful. Also the exercises were interesting.
@CommonNoun9
@CommonNoun9 4 жыл бұрын
Really like your videos man, keep 'em coming
@hiraunzela4378
@hiraunzela4378 Жыл бұрын
This is insane.thanks
@thisissharief7651
@thisissharief7651 3 жыл бұрын
your knowledge in oops concept is excellent ...
@devisowmyamorampudi1898
@devisowmyamorampudi1898 3 жыл бұрын
def print_tree(root,indent): print(indent + root.data) if len(root.children) > 0: for child in root.children: print_tree(child,indent*2) print_tree(root," ") This can get you the indentation without counting levels. btw thanks pal;)
@user-mq8pw6oi7g
@user-mq8pw6oi7g Ай бұрын
The best video ever
@digvijaywaghela3408
@digvijaywaghela3408 2 жыл бұрын
only one word.... Awesome!
@netraamrale3850
@netraamrale3850 2 жыл бұрын
This is superb....!!!!!!!
@jorgegonzaloalfaro5378
@jorgegonzaloalfaro5378 3 жыл бұрын
Thanks so much for this!!!
@babatombana4530
@babatombana4530 Жыл бұрын
It's amazing!
@deepam.g4558
@deepam.g4558 3 жыл бұрын
Very useful. Thank you
@Vinicius-nd8nz
@Vinicius-nd8nz 4 жыл бұрын
Thank you for the video!!! Wonderful explanations!
@MadhuExplorer
@MadhuExplorer 4 жыл бұрын
Thanks for creating data structure videos..
@codebasics
@codebasics 4 жыл бұрын
Glad you like them!
@naveenkrishnavamshi2502
@naveenkrishnavamshi2502 3 жыл бұрын
@@codebasics can you explain me this "child.parent = self" i did not get it properly in the video
@podaisotopaclaudia
@podaisotopaclaudia 3 жыл бұрын
This video helped me understand a lot this topic, thank you !!!
@codebasics
@codebasics 3 жыл бұрын
Glad it was helpful!
@jaysoni7812
@jaysoni7812 4 жыл бұрын
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 4 жыл бұрын
Nice tip actually. Yes this can make the code more compact
@art_ik
@art_ik 3 жыл бұрын
Thanks, Best tutorials to get started
@codebasics
@codebasics 3 жыл бұрын
👍😊
@Turjak_art
@Turjak_art 3 жыл бұрын
Very nice sir, thank you
@lucas86999
@lucas86999 4 жыл бұрын
Thank you Dhaval for this, this is what I was looking for. Great jog!!!!!!!!!
@codebasics
@codebasics 4 жыл бұрын
Glad it was helpful!
@elchiringuitodenaty3336
@elchiringuitodenaty3336 2 жыл бұрын
Thank you so much, very useful 🙌🙌
@kacjugr
@kacjugr 2 жыл бұрын
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
@thecamelbackfiles3685
@thecamelbackfiles3685 3 жыл бұрын
Wow. So clear!
@pprabhakar8531
@pprabhakar8531 Жыл бұрын
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)
@rameshthamizhselvan2458
@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?
@iShubhamPanchal
@iShubhamPanchal 4 жыл бұрын
🙏Dhanyavaad 💕
@FahmiEshaq
@FahmiEshaq 8 ай бұрын
Thank you
@shellysinha5429
@shellysinha5429 2 жыл бұрын
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.
@joxa6119
@joxa6119 10 ай бұрын
I don't understand the `child.parent=self` part. What did you actually do?
@RaghavTigadi-de3xv
@RaghavTigadi-de3xv 6 ай бұрын
same here
@hk254lyt8
@hk254lyt8 2 ай бұрын
Parent was inititialized to None in the beginning because the root doesn’t have a parent but in the add_child() function, since this function adds children to the list using self.children.append(child) it becomes a parent hence child.parent=self I’m not good at teaching hope you this makes sense lol
@osyman782
@osyman782 2 жыл бұрын
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)
@mananpatel884
@mananpatel884 2 жыл бұрын
just awesome
@codebasics
@codebasics 2 жыл бұрын
Glad you enjoyed it
@a.human.
@a.human. 2 жыл бұрын
No lie, this was one of the best tree tutorials ever! definitely recommending to each of my friends :)
@ritikbhilware4030
@ritikbhilware4030 4 жыл бұрын
Hey, Can you also make a playlist for all the different kinds of algorithms used? Will be very helpful.
@glenn8459
@glenn8459 3 жыл бұрын
@codebasics
@anshumansinha5874
@anshumansinha5874 Жыл бұрын
Hey Dhawal. Why did you not make a different class for build tree and add methods like add_child inside that?
@jagritisehgal3867
@jagritisehgal3867 4 жыл бұрын
great explanation
@ankit7918
@ankit7918 4 жыл бұрын
Thank you sir 🙂
@codebasics
@codebasics 4 жыл бұрын
Most welcome
@tusharsrivastava4328
@tusharsrivastava4328 4 жыл бұрын
sir please make videos on how to deal with text data in machine learning?
@nrrajan6802
@nrrajan6802 4 жыл бұрын
Hi can you explain how to build this tree dynamically, ie values coming from an array or json
@simplygood6335
@simplygood6335 3 жыл бұрын
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)
@obadajaber2759
@obadajaber2759 3 жыл бұрын
amazing
@troymendoza1388
@troymendoza1388 2 жыл бұрын
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 2 жыл бұрын
You can set nodes dynamically. When you do that you need to balance out a tree by re arranging nodes
@shivamtyagi007_
@shivamtyagi007_ 3 жыл бұрын
I have facing this error , AttributeError: 'str' object has no attribute 'parent' , after running this program, please tell me where I am doing mistake.
@ronsinha21
@ronsinha21 Жыл бұрын
@Shivam Tyagi Think your mistake would be laptop.add_child("Macbook") and so on. Probably every child you have added using the "add_child" function but haven't added the main node! Sorry I am replying after a year coz I am checking the video now!
@Semoga_Viral
@Semoga_Viral 2 жыл бұрын
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
@kartikchauhan3692
@kartikchauhan3692 2 жыл бұрын
in order traversal is only returning left values and root node when i run program
@abhishektripathi6596
@abhishektripathi6596 2 жыл бұрын
Thanks sir
@codebasics
@codebasics 2 жыл бұрын
Glad it was helpful!
@syamkumarpujala5736
@syamkumarpujala5736 3 жыл бұрын
Solution for both the exercise def print_tree(self,arg,level): run_lvel=self.get_level() spaces = ' ' * run_lvel * 3 if run_lvel > level: return prefix = spaces + "|__" if self.parent else "" if arg =="name": print(prefix + self.data[0]) elif arg == "designation": print(prefix + self.data[1]) else: print(prefix + self.data[0]+ ' ( '+self.data[1]+')') if self.children: for child in self.children: child.print_tree(arg,level)
@nipundileep1577
@nipundileep1577 2 жыл бұрын
Nice explanation sir.. One doubt.. Child.parent = self.. What does that convey?
@siddhanth177
@siddhanth177 3 жыл бұрын
I Directly looked at the solution! :P
@codebasics
@codebasics 3 жыл бұрын
now you are doomed :) you need to send your laptop for corona virus quarantinee :)
@sakshamsinha6945
@sakshamsinha6945 3 жыл бұрын
@@codebasics lol
@manideep6814
@manideep6814 2 жыл бұрын
@23:17 Sir, I cannot have Corona Virus in my computer, I found the exercise interesting and have solved it without looking at the solution.
@tuhinmondal9735
@tuhinmondal9735 3 жыл бұрын
what child.parent does and how this type of function works can you give an example
@sahilbhadana6502
@sahilbhadana6502 3 жыл бұрын
I am not able to get the link for the problems.
@geetikas3286
@geetikas3286 Жыл бұрын
Thank you so much for this video. Is it possible to print the level of leaf node using the technique at @19:00 minute
@kingpaul40
@kingpaul40 10 ай бұрын
hello sir.... i know this tutorial is 3 years ago. hoping this is still active.... can you help me how to save the tree in a database and be able to create, insert/append, edit, and search. thanks you sir.
@KavitaSingh-uw3cn
@KavitaSingh-uw3cn 2 жыл бұрын
Hey , can you tell me how i can print the parent nodes of the any search element inside the general tree?
Understanding B-Trees: The Data Structure Behind Modern Databases
12:39
7 Days Stranded In A Cave
17:59
MrBeast
Рет қаралды 56 МЛН
Parenting hacks and gadgets against mosquitoes 🦟👶
00:21
Let's GLOW!
Рет қаралды 12 МЛН
Kids' Guide to Fire Safety: Essential Lessons #shorts
00:34
Fabiosa Animated
Рет қаралды 13 МЛН
Meet the one boy from the Ronaldo edit in India
00:30
Younes Zarou
Рет қаралды 13 МЛН
5 Useful F-String Tricks In Python
10:02
Indently
Рет қаралды 294 М.
LeetCode was HARD until I Learned these 15 Patterns
13:00
Ashish Pratap Singh
Рет қаралды 130 М.
Data structures: Introduction to Trees
15:50
mycodeschool
Рет қаралды 1,4 МЛН
AI, Machine Learning, Deep Learning and Generative AI Explained
10:01
IBM Technology
Рет қаралды 69 М.
Stack - Data Structures & Algorithms Tutorial In Python #7
13:05
codebasics
Рет қаралды 227 М.
25 Nooby Pandas Coding Mistakes You Should NEVER make.
11:30
Rob Mulla
Рет қаралды 266 М.
Binary Trees in Python: Introduction and Traversal Algorithms
28:40
LucidProgramming
Рет қаралды 207 М.
Fastest way to learn Data Structures and Algorithms
8:42
Sahil & Sarra
Рет қаралды 113 М.
7 Days Stranded In A Cave
17:59
MrBeast
Рет қаралды 56 МЛН