Top view of Binary Tree | Bottom view of Binary Tree | Binary Tree Data Structures Java | DSAOne #61

Hey guys, In this video, We're going to learn how to print the Top View and the Bottom View of a Binary Tree.
Practice here:
practice.geeksforgeeks.org/pr...
practice.geeksforgeeks.org/pr...
💸 Use coupon code ANUJBHAIYA on GeeksforGeeks to avail discounts on courses!
🥳 Join our Telegram Community:
Telegram channel: telegram.me/realanujbhaiya
Telegram group: telegram.me/dsa_one
🚀 Follow me on:
Instagram: / anuj.kumar.sharma
Linkedin: / sharma-kumar-anuj
Twitter: / realanujbhaiya
📚 Complete DSA Playlist: • DSA-One Course - The C...
Complete Android Development Playlist: • Android Development Tu...
Hashtags:
#anujbhaiya #dsaone
Tags:
top view of binary tree
bottom view of binary tree
top view of a binary tree
top view
top view binary tree
top view of tree
binary tree in data structure
top view of a tree
binary tree
anuj bhaiya java
left view of binary tree
bottom view of a binary tree
tree in dsa
dsa
tree data structure in java
java anuj bhaiya
java by anuj bhaiya
right view of binary tree
anuj bhai
trees dsa
anuj kumar sharma
binary search tree
binary tree playlists
binary trees
diameter of binary tree
dsp anuj bhaiya
tree dsa
tree traversal in data structure
trees in data structure
vertical order traversal of binary tree
what is binary tree
binary tree data structure
binary tree in java
binary tree playlist
complete binary tree
ishan sharma
love babbar
tree data structure
trees data structure
trees data structures
width of binary tree
aditya verma
akshay saini
arraylist
babbar code help
balanced binary tree
binary search tree in data structure
binary search tree in java
binary search tree java
binary tree c++
binary tree java
binary tree tutorial
bottom view
boundary traversal of binary tree
code help babbar
data structure
diameter of a binary tree
diameter of a tree
diameter of tree
dsa one
dsa sheet
harman singh
invert binary tree
kunal kushwaha
largest bst in bt
longest common subsequence problem
node js
print nodes in top view of binary tree
right side view of a binary tree
seed it solution
top
tree in java
tree topology
treemap
treemap in java
trees in dsa

Пікірлер: 66

  • @subhankarpal2800
    @subhankarpal28002 жыл бұрын

    Now I can say my Nonlinear Data structure journey has been started with Anuj Bhaiya 🙏🙏🙏🙏🙏 Thank You Sir ❣❣❣❣.

  • @abdullahirfan3078
    @abdullahirfan30782 жыл бұрын

    Never knew that this medium level topic is going to be so easy for me Thank yoy

  • @Jitendrachouhan1999
    @Jitendrachouhan19992 жыл бұрын

    You are Such as Good Mentor 🥰 i really inspired your video when did I watch ❤

  • @amanrathour3176
    @amanrathour31762 жыл бұрын

    So easily explained 😍. Thanku.

  • @udaychandu3925
    @udaychandu3925 Жыл бұрын

    Very Clean and Neat Explaination,Sir!

  • @RepublicDay2023
    @RepublicDay2023 Жыл бұрын

    You are genious dude…!!! Applauses 👌👌👌

  • @ANJALIGUPTA-vq1cv
    @ANJALIGUPTA-vq1cv2 жыл бұрын

    awesome bhaiya, thanks for making coding easier

  • @raghunath4280
    @raghunath42802 жыл бұрын

    Nice solution. But i found out a little bit optimization for the above solution. Consider d= horizontal diameter of the tree. Building Treemap takes o(dlogd). Instead of TreeMap use HashMap and maintain two static variables i.e., min and max and update the min and max values as min=Math.min(min,temp.hd); max=Math.max(max,temp.hd); for every iteration. Now traverse the HM from min to max and add those values to a new ArrayList. This will reduce the time complexity from O(n+dlogd) to O(n)

  • @GhostRider....

    @GhostRider....

    Жыл бұрын

    Bro please provide full solution

  • @yhlive8023

    @yhlive8023

    Жыл бұрын

    You're right i been thinking the same bro , use min max and hashmap

  • @grossHumiliation

    @grossHumiliation

    8 ай бұрын

    bro this is correct? void topView(Node *root, int x, map &m) { if (root == NULL) return; if (m.find(x) == m.end()) { m.insert(make_pair(x, root->data)); } topView(root->left, x - 1, m); topView(root->right, x + 1, m); }

  • @jerry_codes

    @jerry_codes

    2 ай бұрын

    Nice one!

  • @prannoyroy5312
    @prannoyroy53122 жыл бұрын

    Thanks Anuj! Great job bro! 👌

  • @MindsetMotivation75
    @MindsetMotivation75 Жыл бұрын

    Thank you bhaiya , best explanation ever.

  • @shreysom2060
    @shreysom2060 Жыл бұрын

    Great explaination

  • @saritaprasad4295
    @saritaprasad4295 Жыл бұрын

    amazing with most difficult topic

  • @BushMaster007
    @BushMaster007 Жыл бұрын

    This video was helpful!

  • @xerOnn35
    @xerOnn35 Жыл бұрын

    Thanks Sir !

  • @lokendrasingh9780
    @lokendrasingh97802 жыл бұрын

    Thank You Bhaiya🙏👌

  • @mma-dost
    @mma-dost6 күн бұрын

    Thanks bhaiya

  • @GhostRider....
    @GhostRider.... Жыл бұрын

    Nice explanation bhaiya

  • @militaryink319
    @militaryink3192 жыл бұрын

    Thanks bhya . I am following you

  • @ShivamVerma-gq2sm
    @ShivamVerma-gq2sm2 жыл бұрын

    wonderful

  • @anandjaiswal6588
    @anandjaiswal6588 Жыл бұрын

    Maaza aa gaya 😁

  • @harshvardhansingh780
    @harshvardhansingh780 Жыл бұрын

    Thank you so much bhaiya mai yhi same glti kar rha tha.... thank you

  • @prateekchauhan5376
    @prateekchauhan53762 жыл бұрын

    loveddddd it

  • @hangover2.0
    @hangover2.04 ай бұрын

    for implementing the queue method we can define three variables in class third one to store level and in the if condition we will check using or operator that if the level of incoming node is lesser than the already existing node it will replace the node. Please tell me if something is wrong with this approach . Open to other suggestions.

  • @jeeveshsinghroa3218
    @jeeveshsinghroa3218 Жыл бұрын

    Good Solution!

  • @prashantkumarsingh-ui6yp
    @prashantkumarsingh-ui6yp3 ай бұрын

    , vertical order, top view, bottom view, what an explanation ☺☺☺

  • @harishlodha8794
    @harishlodha87942 жыл бұрын

    Sir background video recorder app se user Jo video record karta hai kya vo video app Wale ke pass bhi store hota hai kya Kya ye possible hai ki Jo video hum record karte hain vo app Wale ke pass bhi store hota hai kya

  • @sumitchakraborty9451
    @sumitchakraborty9451 Жыл бұрын

    what is the time complexity of this solution

  • @mohakarora8712
    @mohakarora87124 ай бұрын

    can somebody tell me why are we using level order only?

  • @tech_wizard9315
    @tech_wizard93152 жыл бұрын

    Can you please provide a 60roamdap of important topics for DSA beginner to crack tech giant's like Microsoft linkedin etc

  • @AnujBhaiya

    @AnujBhaiya

    2 жыл бұрын

    This is next in line.. will be coming out soon 😄 stay tuned

  • @shivamchaurasiya2004
    @shivamchaurasiya20042 жыл бұрын

    Bhaiyaa DevOps par ek video banaiye isme career kaise banaye

  • @shaileshtiwari9570
    @shaileshtiwari9570 Жыл бұрын

    why we don't take preorder traversal for bottom view , kindly give a tree example where preorder traversal gives wrong answer.

  • @worldpuzzle1031
    @worldpuzzle10312 жыл бұрын

    ❤️❤️

  • @kanaramjangid8563
    @kanaramjangid85638 күн бұрын

    ❤❤❤

  • @wizardiors
    @wizardiors2 жыл бұрын

    did u have a computer science degree??

  • @akashmishra3369
    @akashmishra33692 жыл бұрын

    Bhaiya, TreeMap nahi use karke, Map ko sort kardein end me to kaam nahi banega ? :( (Not sure how to implement Treemap in javascript)

  • @AnujBhaiya

    @AnujBhaiya

    2 жыл бұрын

    Ho jaega usse bhi

  • @abhishekanuj8115
    @abhishekanuj81152 жыл бұрын

    Few days ago, bhaiya you suggested a youtube channel for learning java from scratch (u told, u also learnt from there) please give that channel link again, I forget that channel name. 🙏🏻

  • @King-xs4tq

    @King-xs4tq

    2 жыл бұрын

    Malum pada bhai

  • @abhishekanuj8115

    @abhishekanuj8115

    2 жыл бұрын

    @@King-xs4tq ni bhai, agr pta chale to btana

  • @King-xs4tq

    @King-xs4tq

    2 жыл бұрын

    @@abhishekanuj8115 Nahi bhai maine to bhaiya ke course se hi pada tha java lekin beginners ke liye utna fayde ka nahi h. Agar aapko malum padey to bataiyega

  • @ImranKhan-mc6vf
    @ImranKhan-mc6vf2 жыл бұрын

    Not sure if it is the correct logic for bottom view. Consider this example. 7(0) / \ 6 (-1) 2 (1) / \ / \ 5 ( -2 ) 1(0) 8(0) 2 (2) We have 2 0s at bottom, but the map would hold just 1 zero. So your logic would give -> 5, 8, 2 instead of 5,1,8,2. Or am I missing something?

  • @kumarrohit8311

    @kumarrohit8311

    2 жыл бұрын

    See the video at 1:07. He talks about when two elements with same distance are met, we pick the right side one. Hence, 8 is picked up!

  • @pulkitchausali1354

    @pulkitchausali1354

    Жыл бұрын

    Output will like -> 5, 6, 8, 2, 2

  • @mastimazawithnature6749
    @mastimazawithnature67492 жыл бұрын

    Is dsa course me kya sikhne ko milega

  • @AnujBhaiya

    @AnujBhaiya

    2 жыл бұрын

    You'll learn almost anything there's to learn about Data Structures & Algorithms so that you can crack Top companies technical interviews easily. Many of you have already done it. Best of Luck 🤗

  • @rahulji882
    @rahulji8822 жыл бұрын

    22nd link

  • @madetolaugh3476
    @madetolaugh34762 жыл бұрын

    Largest BST

  • @harshit4190
    @harshit41902 жыл бұрын

    time complexity?

  • @antibarcelona2123

    @antibarcelona2123

    Жыл бұрын

    O(no. of nodes i guess)

  • @YashTalks_YT
    @YashTalks_YT2 жыл бұрын

    many teachers can't even accept their mistakes

  • @mastimazawithnature6749
    @mastimazawithnature67492 жыл бұрын

    Binary code kya hota hai Kya isse me kya kr sakta hu

  • @harsh_choudhary5940

    @harsh_choudhary5940

    2 жыл бұрын

    @Kumar Chitransh abe😂😂

  • @yhlive8023

    @yhlive8023

    Жыл бұрын

    ​@Kumar Chitransh 😂

  • @lakhanshanker6105
    @lakhanshanker61052 жыл бұрын

    static ArrayList topView(Node root) { Map map = new TreeMap(); int i=0; util(root,i,map); ArrayList ans = new ArrayList(); for(Map.Entry m : map.entrySet()){ int x = m.getValue(); ans.add(x); } public static void util(Node root, int i, Map map){ if(root==null) return; if(!map.containsKey(i)){ map.put(i,root.data); } util(root.left,i-1,map); util(root.right,i+1,map); } isme kya galti hai anyone ?

  • @pratikvishwakarma1599

    @pratikvishwakarma1599

    2 жыл бұрын

    ans.add(x); } } you need to close extra } , :P Otherwise check the video again on 04:05, where Anuj Bhaiya explains why normal traversal (preorder) will fail

  • @lakhanshanker6105

    @lakhanshanker6105

    2 жыл бұрын

    @@pratikvishwakarma1599 bhai wo to thek h pr sare test cases pass nhi ho rhe

  • @RajatGupta-lq3cb
    @RajatGupta-lq3cb Жыл бұрын

    Can someone help me. What if we solve it in this way using DFS? class Solution { static int min=0, max=0; static ArrayList topView(Node root) { ArrayList res=new ArrayList(); Map mp=new HashMap(); helper(root, mp, 0, 0); for(int i=min;i vd) { mp.put(hd, new Pair(root.data, vd)); } } else { mp.put(hd, new Pair(root.data, vd)); } helper(root.left, mp, hd-1, vd+1); helper(root.right, mp, hd+1, vd+1); } } class Pair { int val, vd;// vd represents vertical distance from root AKA depth. public Pair(int a, int b) { val=a; vd=b; } }

  • @yhlive8023

    @yhlive8023

    Жыл бұрын

    It will be complicated bro but it's your choice how you want to do 😊

  • @manojkhan5639
    @manojkhan5639 Жыл бұрын

    Thanks bhiya

  • @pinkkitty6553
    @pinkkitty6553 Жыл бұрын

    Thank you bhaiya