File tree Expand file tree Collapse file tree 1 file changed +72
-0
lines changed Expand file tree Collapse file tree 1 file changed +72
-0
lines changed Original file line number Diff line number Diff line change
1
+ /*
2
+ * Program to create a binary search tree.
3
+ * Author: Viveka Aggarwal
4
+ */
5
+
6
+ public class BinarySearchTree {
7
+ Node root ;
8
+ public class Node {
9
+ Node left ;
10
+ Node right ;
11
+ Integer data ;
12
+
13
+ Node () {
14
+ }
15
+
16
+ Node (Integer data ) {
17
+ left = right = null ;
18
+ this .data = data ;
19
+ }
20
+ }
21
+
22
+ BinarySearchTree () {
23
+ root = new Node ();
24
+ }
25
+
26
+ BinarySearchTree (Integer data ) {
27
+ root = new Node (data );
28
+ }
29
+
30
+ public void addToTree (Integer data ) {
31
+ addToTree (root , data );
32
+ }
33
+
34
+ private void addToTree (Node curr , Integer data ) {
35
+ if (curr == null ) {
36
+ curr = new Node (data );
37
+ } else if (curr .data .compareTo (data ) >= 0 ) {
38
+ if (curr .left == null )
39
+ curr .left = new Node (data );
40
+ else
41
+ addToTree (curr .left , data );
42
+ } else {
43
+ if (curr .right == null )
44
+ curr .right = new Node (data );
45
+ else
46
+ addToTree (curr .right , data );
47
+ }
48
+ }
49
+
50
+ @ Override
51
+ public String toString () {
52
+ return toString (this .root );
53
+ }
54
+
55
+ String toString (Node curr ) {
56
+ if (curr == null )
57
+ return "" ;
58
+ return toString (curr .left ) + " " + curr .data + " " + toString (curr .right );
59
+ }
60
+
61
+ public static void main (String [] args ) {
62
+ BinarySearchTree tree = new BinarySearchTree (1 );
63
+ tree .addToTree (5 );
64
+ tree .addToTree (3 );
65
+ tree .addToTree (89 );
66
+ tree .addToTree (43 );
67
+ tree .addToTree (43 );
68
+ tree .addToTree (67 );
69
+
70
+ System .out .println (tree .toString ());
71
+ }
72
+ }
You can’t perform that action at this time.
0 commit comments