Skip to content

Commit c63ab86

Browse files
committed
Left_view of Binary Search Tree added
1 parent cb39de2 commit c63ab86

File tree

1 file changed

+96
-0
lines changed

1 file changed

+96
-0
lines changed

binary_search_tree/Left_View.java

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
package Binarytree;
2+
3+
import java.util.ArrayList;
4+
import java.util.LinkedList;
5+
import java.util.Queue;
6+
import java.util.Scanner;
7+
8+
class Node{
9+
int data;
10+
Node left;
11+
Node right;
12+
Node(int element)
13+
{
14+
this.data = element;
15+
this.left = this.right = null;
16+
}
17+
}
18+
19+
class BST{
20+
Node root;
21+
BST()
22+
{
23+
root = null;
24+
}
25+
void addNode(int element)
26+
{
27+
root = add(root,element);
28+
}
29+
Node add(Node node, int element)
30+
{
31+
if(node == null)
32+
return new Node(element);
33+
if(element<=node.data)
34+
node.left = add(node.left,element);
35+
else
36+
if(element>node.data)
37+
node.right = add(node.right,element);
38+
39+
return node;
40+
}
41+
42+
void inorder(Node root)
43+
{
44+
if(root == null)
45+
return;
46+
inorder(root.left);
47+
System.out.print(root.data+" ");
48+
inorder(root.right);
49+
}
50+
51+
ArrayList<Integer> leftView(Node node)
52+
{
53+
ArrayList<Integer> al = new ArrayList<>();
54+
55+
Queue<Node> q = new LinkedList<>();
56+
q.add(node);
57+
while(!q.isEmpty())
58+
{
59+
int n = q.size();
60+
for(int i=1;i<=n;i++)
61+
{
62+
Node temp = q.poll();
63+
if(i==1) {
64+
al.add(temp.data);
65+
}
66+
if(temp.left!=null)
67+
q.add(temp.left);
68+
if(temp.right!=null)
69+
q.add(temp.right);
70+
71+
}
72+
}
73+
return al;
74+
}
75+
}
76+
77+
public class Left_View {
78+
public static void main(String[] args) {
79+
Scanner s = new Scanner(System.in);
80+
BST obj = new BST();
81+
82+
obj.addNode(9);
83+
obj.addNode(6);
84+
obj.addNode(5);
85+
obj.addNode(8);
86+
obj.addNode(7);
87+
obj.addNode(13);
88+
obj.addNode(17);
89+
obj.addNode(19);
90+
System.out.println("Inorder of entered Tree is: ");
91+
obj.inorder(obj.root);
92+
ArrayList<Integer> al = new ArrayList<>();
93+
al = obj.leftView(obj.root);
94+
System.out.println("\nLeft View of this tree is: "+al);
95+
}
96+
}

0 commit comments

Comments
 (0)