Tree data structure - types of trees, examples, code and uses in programming

Sdílet
Vložit
  • čas přidán 25. 07. 2024
  • 📚 Learn how to solve problems and build projects with these Free E-Books ⬇️
    C++ Lambdas e-book - free download here: bit.ly/freeCppE-Book
    Entire Object-Pascal step-by-step guide - free download here: bit.ly/FreeObjectPascalEbook
    🚀📈💻🔥 My Practical Programming Course: www.codebeautyacademy.com/
    Experience the power of practical learning, gain career-ready skills, and start building real applications!
    This is a step-by-step course designed to take you from beginner to expert in no time!
    💰 Here is a coupon to save 10% on your first payment (CODEBEAUTY_YT10).
    Use it quickly, because it will be available for a limited time.
    Download Visual Assist here: bit.ly/WT-CB
    I use it to enhance the performance, features, and support for C, C#, and C++ development in Visual Studio.
    Download Ultra Edit here: bit.ly/UE-CB
    It is a powerful, secure text editor designed specifically for programmers.
    ☕ If you've found my content helpful and would like to support me, you now have the option to buy me a coffee or a cookie! It's a small gesture of gratitude that means a lot to me and helps me keep creating free educational videos for you. You can use the link below to make a contribution: bit.ly/CodeBeauty_BuyMeACoffee
    However, please don't feel obligated to do so. I appreciate every one of you, and I will continue to share valuable content with you regardless of whether you choose to support me in this way. Thank you for being part of the Code Beauty community! ❤️😇
    In this video, you'll learn about Tree data structure.
    You'll understand when is a tree data structure used in programming, learn all the most important concepts, different types of trees in programming and their characteristics, and see how to apply all of this in cod. After watching this video you'll know how to create your own tree data structure and add elements to it.
    Tree traversing algorithms (part 2) - • Tree traversal algorit...
    Contents:
    00:00 - What will you learn in this video?
    00:32 - Introduction to Trees data structure
    01:09 - Usage of Tree data structure in programming
    02:38 - Most important concepts
    05:01 - Different types of trees
    06:06 - Binary Search Tree
    07:33 - Writing and explaining the code
    08:35 - How to create and add a new node to the Tree
    10:51 - Let's program your first Tree
    12:29 - Another Tree example (more complex)
    AI code completion tool that I use in this video - free download here:bit.ly/FreeTabnine
    You can also follow me on other platforms:
    Instagram 📸 - / truecodebeauty
    Twitter 🐦- / truecodebeauty
  • Věda a technologie

Komentáře • 206

  • @CodeBeauty
    @CodeBeauty  Před 2 lety +30

    📚 Learn how to solve problems and build projects with these Free E-Books ⬇️
    C++ Lambdas e-book - free download here: bit.ly/freeCppE-Book
    Entire Object-Pascal step-by-step guide - free download here: bit.ly/FreeObjectPascalEbook
    🚀📈💻🔥 My Practical Programming Course: www.codebeautyacademy.com/
    Experience the power of practical learning, gain career-ready skills, and start building real applications!
    This is a step-by-step course designed to take you from beginner to expert in no time!
    💰 Here is a coupon to save 10% on your first payment (CODEBEAUTY_YT10).
    Use it quickly, because it will be available for a limited time.
    Code from this video:
    #include
    using namespace std;
    struct Node {
    int data;
    Node* left;
    Node* right;
    };
    Node* createNode(int data) {
    Node* newNode = new Node();
    newNode->data = data;
    newNode->left = newNode->right = nullptr;
    return newNode;
    }
    int main()
    {
    //Level 1
    Node* root = createNode(1);
    //Level 2
    root->left = createNode(2);
    root->right = createNode(3);
    //Level 3
    root->left->left = createNode(4);
    root->left->right = createNode(5);
    root->right->left = createNode(6);
    root->right->right = createNode(7);
    //Level 4
    root->left->right->left = createNode(9);
    root->right->right->left = createNode(15);
    cin.get();
    }

  • @mackenziejackson2888
    @mackenziejackson2888 Před rokem +38

    I can't show enough appreciation for you diving into data structures. I am preparing to go into a data structures course this fall and you have been invaluable in introducing these concepts. Not only do I feel less intimated but you have a way of making these videos interesting and fun. Many of my classmates feel the same way. Your teaching reminds me why I wanted to study programming in the first place.

  • @phantomghoul2846
    @phantomghoul2846 Před rokem +10

    i can't believe this is better than the damn courses I bought on skillshare. straight right to the point and showing us the common functions that are going to be used. kudos and thanks for this video

  • @bl00dspec75
    @bl00dspec75 Před rokem +10

    Hey Saldina. I first saw you on the freeCodeCamp video and immediately connected with your teaching style. I have been loving the data structures series so far. Both the C++ video and this series helped a great extent in coming back to C++ after about 6 years.
    I feel like if you could continue the data structures series it would have been great - implementing different styles and algorithms in the way.
    These can be concepts like recursion, backtracking, two pointer approach, sliding window, dynamic programming. You get the gist :D
    Anyway, thanks for all this. Greatly appreciate it!

  • @yangamasibulelemdede4191
    @yangamasibulelemdede4191 Před rokem +13

    I really enjoyed your video, I am a University student (South Africa) doing Computer Science second year this year... and I really admire your tutorials. This is surely a channel I will recommend to all IT and Computer Science students. I remember last year when I was a first-year student; so in the first semester I did Problem Solving in C++ and because by then I didn't know you yet, I got 54% as my final grade for Problem Solving (that's bad). And in the second semester, we did OOP in C++, and I was really struggling with it. But after bumping in your videos my marks went skyrocketing up, and I got 73% in OOP as my final mark, could you imagine, I knew you (your CZcams videos) just two weeks before writing the final OOP exam but I managed to get a better grade. This year I am getting abused by C++ Data Structures, it's hard but I'm giving it my all, and lucky enough I have you at my rescue. @CodeBeauty You are the best.🤝👏👏

  • @mr.potato8894
    @mr.potato8894 Před 2 lety +25

    The timing of this video is perfect. Just started learning this in university. Now I can learn ahead and show off next class xD

    • @CodeBeauty
      @CodeBeauty  Před 2 lety +5

      Some people are striving to be the best.
      Way to go!! ✨✨

  • @user-us1un9rm8r
    @user-us1un9rm8r Před rokem +1

    I come straight to your page for every new week of content in my C++ class. Thank you!

  • @gammyhorse
    @gammyhorse Před 2 lety +2

    This channel is a precious gem.

  • @jovanaycart
    @jovanaycart Před rokem +5

    Your videos are the most helpful on data structure foundations and c++ that I’ve found on all of CZcams. Thank you!
    Could you do a video of black red trees

  • @igor-haha
    @igor-haha Před 2 lety +2

    Odlični videi Saldina! Jako lepo objašnjavaš, jednostavno a ipak kažeš sve bitno, i još pokažeš na primerima. Hvala na trudu, samo tako nastavi! Pozdrav iz Srbije

  • @crazyzombie9720
    @crazyzombie9720 Před 2 lety +20

    I’m currently in a Data Structures class at my university. When we got to trees, that’s when this video was uploaded 🤯

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

      it's a sign 😃😃

    • @AdrianPerez-mr1nd
      @AdrianPerez-mr1nd Před 2 lety +1

      I’m also enrolled in data structures at my local university. This is very helpful!

  • @TonyStark-lw7lv
    @TonyStark-lw7lv Před 2 lety +1

    Thanks for starting this topic.
    Waited for this 🤝🏻.
    Thank You Again.

  • @Rebel084
    @Rebel084 Před 2 lety +2

    Yo I’m literally working on a project in class for this!!! Perfect timing

  • @mariacunha8508
    @mariacunha8508 Před rokem +1

    I really appreciate this videos!!! Thank you so so much!

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

    This is such a great tutorial...the pictorial truly help.

  • @abdelmalek9004
    @abdelmalek9004 Před rokem +11

    if the children are connected it would be a graph data structure instead of tree

  • @Reem-du7sd
    @Reem-du7sd Před 2 lety +9

    YESS! Another video! Hope you can upload a part 2 to the doubly linked list as well. :) Keep up the great work! You're saving every c++ beginner at a time ❤

  • @techymoh
    @techymoh Před 2 lety +2

    Just going through DSA and this is helpful.

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

    Thank you! You are great! 👏🏼

  • @granumuse7847
    @granumuse7847 Před 2 lety +5

    First of all, your narrating "bugs" are not that bad as you think 🤣
    This intensity of them is created only in your brain, as a result of the conflict between what you expected and what finally occurred 😊 To us, nothing bad happened at all.
    Secondly, bravo!!! The easiest explanation of tree data structure on CZcams.
    Thank you 💖

  • @nguyenviet908
    @nguyenviet908 Před 2 lety

    thank you very much, wishing you all the best!

  • @tobiluchi911
    @tobiluchi911 Před 2 lety

    Wowww that's what I'll be learning this year! Thanks a lot ;))

  • @luisalamo2658
    @luisalamo2658 Před rokem +4

    You're terrific at explaining these concepts in such a simple manner. Thanks a lot, I can remember at university a few years ago when I was afraid about this tree data structure.

  • @leoleo20100216
    @leoleo20100216 Před rokem +2

    Very clear explanation for binary tree c++ implementation

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

    they are very helpful, ty!

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

    thanks patiently waiting for the next video on trees

  • @temirkhanamanbaev42
    @temirkhanamanbaev42 Před 2 lety +2

    You are great 👍!

  • @G_.G_.G
    @G_.G_.G Před 2 měsíci

    Really thankyou for this video
    This video clear my doubt which I have been searching for few hours.

  • @davronxonmuxamedaliyev4377
    @davronxonmuxamedaliyev4377 Před 4 měsíci +2

    You are indeed, the teacher every student dreams of...😂

  • @mahmoudhagag4234
    @mahmoudhagag4234 Před 2 lety

    Welcome back, we missed you💙

  • @railway-trainstramssubways1584

    Greetings from nearby Bulgaria! Great video! Currently studying c++ programming in the university and your videos help a lot!

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

    I love Saldina
    I was need this video!
    a Video explain Hash Tables will be amazin!!

  • @MarcusHCrawford
    @MarcusHCrawford Před 2 měsíci +1

    Your videos are so helpful. Thank you!

  • @BantuBeast
    @BantuBeast Před rokem

    Thank you!

  • @nagen78
    @nagen78 Před rokem

    your tutorials are superb and looking forward for similar tutorials in Python

  • @DRdr123
    @DRdr123 Před 2 lety +2

    Thank you 😊 from Egypt

  • @emmanuelsharp7031
    @emmanuelsharp7031 Před 9 měsíci +2

    you are a blessing

  • @AwaisKhan-th8fo
    @AwaisKhan-th8fo Před 2 lety

    Thanks you so much ma'am.

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

    I love you. My teacher ❤. You was explained clearly and easy to understand what things you wanna share to others

  • @sikirusalau9460
    @sikirusalau9460 Před rokem +2

    This is awesome! Thanks for explaining in a easy to understand way.
    How do you free the memory created by the new keyword? I understand delete is used to free memory or sometimes calling a destructor but I'll like to know how you free the memory.

  • @asthajain7207
    @asthajain7207 Před rokem +1

    Now I started understanding things better by your video could you please upload a video on a circular linked list...... ♥️♥️

  • @mindlessmeat4055
    @mindlessmeat4055 Před rokem +3

    Coming from a mathematics background, trees are something i have studied in various classes. Thank you for your videos, they are immensely helpful.
    Does the data have to be integers or can they be some other type of sequential reference system? Like what if it was a list of college classes? They are list like math101 or cs101.

  • @faujayikhsan2194
    @faujayikhsan2194 Před rokem

    appreciate, thank you so much for this, hope you have a wonderful day

  • @SavageScientist
    @SavageScientist Před 2 lety

    Awesome video great content

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

    THANK YOU FOR THIS!! I have literally been checking weekly for a new video by you 🥺❤ & you came through!

  • @suhas5605
    @suhas5605 Před 2 lety +2

    Please complete data structures as soon as possible with all topics covered...

  • @dedsec2084
    @dedsec2084 Před 2 lety +2

    Hi can you make series on python your concepts are so easy to understand and it would be awesome you make a series on this language btw love your videos

  • @BunnyHuggerr
    @BunnyHuggerr Před 2 lety +11

    First of all thanks for your amazing tutorials! helped me a lot with C++ OOP.
    Off topic - are you going to teach as well C#?

    • @CodeBeauty
      @CodeBeauty  Před 2 lety +12

      I might do a C# course as well. I love C# and I've been working in it for 5+ years, so if there is enough interest I would gladly do that course :D

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

      @@CodeBeauty Amazing :D just started programming less then 2 years ago and no idea why I found it a bit harder then I thought it would be. :| Thanks again for your time and afford! most appreciated !

  • @ladymorwendaebrethil-feani4031

    Perfect.

  • @UnrealCatDev
    @UnrealCatDev Před 8 měsíci +2

    Very gut video

  • @dileep.b5054
    @dileep.b5054 Před 2 lety +1

    please make a video on UML DIAGRAMS as soon as possible

  • @saifmos6516
    @saifmos6516 Před 2 lety

    i would really love to know your settings on vs , wuth that i mean for example your code formats , could you please share this with us ? thank you : )

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

    Thanks so much for this !!!! I love these Data Structure Videos
    Graph Data structures next please 🙏!! ❤️❤️

  • @leoara8019
    @leoara8019 Před 2 lety +2

    great video in perfect time...thank you so much for the video.

  • @nasiriqbal6004
    @nasiriqbal6004 Před rokem +1

    Love you from Pakistan.
    You speaking and teaching style is behind the boundaries

    • @nasiriqbal6004
      @nasiriqbal6004 Před rokem

      @codebeauty Please Cover the Whole Tree. i think you can teach us better than any programmer.

  • @chiragsawajiyani8540
    @chiragsawajiyani8540 Před 2 lety

    Can you please make a full detail course for c#.

  • @voidray0988
    @voidray0988 Před 2 lety

    Can you please make a video about how to take a line from a file and put it in a fuction ...and i love your videos you help a lot of people keep it up😁😁

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

    a little question , i 've been asked to do a binary search tree data structure, but there are values that are the same as others, how do you deal with that ?

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

    Hey Saldina, thanks for your information! If you were my teacher when younger I would be better than Billy Gates now LOL!!

  • @Sportsman134
    @Sportsman134 Před rokem +3

    for the BST rule described at 8:50 (left child should have the value smaller than its parent, right child should have the value larger than its parent), does that mean if you input the following values in this order: 30, 15, 20, 40, 50, 55 (without giving it left,right ordering), it would have to populate a tree the same as in your example?

    • @mudkiptheengineer5339
      @mudkiptheengineer5339 Před rokem

      The BST tree is also known as red black tree, in order for it to work the data type can be compared, in this case you are talking about ints so it would be done automatically, but if it were a user defined type you'd have to overload the '>' operator

  • @anschoudhary1376
    @anschoudhary1376 Před 2 lety

    for 12:07 can we do newNode->left && newNode->right = nullptr;

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

    Badly need it...your videos saved my exam last week....this topic coverd in recent class but i don’t understand well..thanks and take ❤️❤️❤️❤️

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

      Even though I finished University a long time ago, I still remember the feeling of trying to focus and follow the lectures, but not understanding ANYTHING!
      That's why I make detailed and step-by-step lessons and cover all the important facts, so that it is easy to learn and make progress. 🥰

  • @Tech_Diaries_With_Vincent
    @Tech_Diaries_With_Vincent Před měsícem +1

    amazing😍

  • @Asterics.
    @Asterics. Před 4 měsíci +1

    thank you bst 😉

  • @remimonsel9944
    @remimonsel9944 Před 2 dny

    Hello, I watched the liked lists videos you created and in there when creating a Node, you created a class and here it's a struct for the node. Is there a reason why not using class as well here ? or we can use one or the other it doesn't matter ?

  • @jasonyu7963
    @jasonyu7963 Před 2 lety

    if the child are also connected is it a circular singly linked list?

  • @aliomidi9613
    @aliomidi9613 Před rokem

    your teach better than my university professor

  • @kamilaarshad5427
    @kamilaarshad5427 Před 2 lety

    why we are using Node * as data type for left and right node

  • @tarekbenlakri1058
    @tarekbenlakri1058 Před rokem

    hey could you answering me what is the difference between NULL and nullptr

  • @montyGator
    @montyGator Před 2 lety

    I don't quite understand line thirteen in the createNode function, can anyone explain that to me?

  • @thealphabetissilent3447

    What is the DSt at 6:10?

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

    Graph, and i hope you make a video about graphs 😀

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

    If you open cmd in a specific folder and type tree command cmd will show you the tree of that folder

  • @spicyshizz2850
    @spicyshizz2850 Před 9 měsíci +1

    Bsts trees bruh ;)

  • @JorielTejada-te4dd
    @JorielTejada-te4dd Před rokem

    How about Graph Data Structure? Can You teach us about that algorithm? please?

  • @robertpaukovic6811
    @robertpaukovic6811 Před rokem

    nullprt was not declared in the scope ??

  • @adilkayani
    @adilkayani Před 2 lety

    This lady is a codebeauty and a real beauty. )) And funny too. )) I mean, she has a great sense of humor.

  • @ChandanDas-kz5wq
    @ChandanDas-kz5wq Před 10 hodinami

    Is that structure "doubly circular linked list"?

  • @MrLaruzer987
    @MrLaruzer987 Před 2 lety

    How do I identifier not found
    On root = createNode(1);

  • @jameskaiser7474
    @jameskaiser7474 Před 7 měsíci +1

    What do a root node and batman have in common?

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

    It’s like double link list?

  • @ajitpatil6532
    @ajitpatil6532 Před 2 lety +2

    Just about 3 days ago I was trying to find your video for this topic, and today you posted it!

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

    hii selena ur way to teach is really awesome. U make more videos on DS and Algorithms . Kindly cover trees and graph important algos also.Keep it up....

  • @infamoustony
    @infamoustony Před 7 měsíci +1

    the data structure on 3:35 is graph

  • @linhtetaung2613
    @linhtetaung2613 Před rokem

    directed acyclic graph

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

    Is that the graph data structure for the closed loop?

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

    can you make video's to explain java

  • @adreezy6576
    @adreezy6576 Před 8 měsíci

    Referred a binary search tree as a BSSTTTT to my professor and he almost had a heart attack

  • @arshmaanali714
    @arshmaanali714 Před 2 lety

    Thank you so 😍😍much mam ❤️🇵🇰🇵🇰🇵🇰

  • @mudkiptheengineer5339

    if I'm not mistaken, the "BST" tree is also called a RedBlack tree

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

    Bssst🐝

  • @hisoka7489
    @hisoka7489 Před 4 měsíci

    So.... what is the data structure in the min 3:46?

  • @alexconklin-rn4jd
    @alexconklin-rn4jd Před 2 měsíci

    3:34 its a cyclically linked list right? :D

  • @richardshane2080
    @richardshane2080 Před 2 lety

    Theoretically the Earth's population that's plugged in is a bit less than the total population, however the theoretical limit with a database is the hardware lol ....lovee de program on anything especially binary......ty, big hugs 🤗 everyone

  • @ehapahmed1069
    @ehapahmed1069 Před 3 měsíci +2

    will it differ if I used class instead of struct ?

    • @CodeBeauty
      @CodeBeauty  Před 3 měsíci +1

      Nope, but there is one important difference between class and structure. Do you know what it is? 😃

  • @Thebiggame-dc8ek
    @Thebiggame-dc8ek Před rokem

    I paused the video and now I want to answer your question😁.
    we can create a left node with the createNode function, for example, and give its address to the pointer of the root.

    • @CodeBeauty
      @CodeBeauty  Před rokem

      Did you continue watching the video, is your answer correct? 😃👊👍

  • @gaming53wishmaster71
    @gaming53wishmaster71 Před rokem

    ant this what we use for making tech skill or blacksmith trees or stuff like that sorry im trying to learn i understand some of c++ syntax but not how to put it all together to use it as of yet

  • @anime-fights9123
    @anime-fights9123 Před 11 měsíci

    do you have any video of data structures using classes

    • @CodeBeauty
      @CodeBeauty  Před 11 měsíci

      My two last videos are about arrays of objects, and I have a couple more comming 😃

  • @178fahimahmed7
    @178fahimahmed7 Před 2 lety

    Yesh, It's a graph in 5:22

  • @Matice21
    @Matice21 Před rokem

    I don’t understand newNode->left = newNode ->right = nullptr.
    Is this just setting both the left & right to null? Is it the same as
    newNode->left = nullptr
    newNode->right = nullptr // ?