Skip to content

Commit b8ad87b

Browse files
authored
Merge pull request #10 from Amlan-007/master
Binary tree in Java added
2 parents 0eb7036 + 638c417 commit b8ad87b

File tree

2 files changed

+134
-0
lines changed

2 files changed

+134
-0
lines changed

merge_sort.java

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
2+
class MergeSort
3+
{
4+
5+
void merge(int arr[], int l, int m, int r)
6+
{
7+
8+
int n1 = m - l + 1;
9+
int n2 = r - m;
10+
11+
12+
int L[] = new int[n1];
13+
int R[] = new int[n2];
14+
15+
16+
for (int i = 0; i < n1; ++i)
17+
L[i] = arr[l + i];
18+
for (int j = 0; j < n2; ++j)
19+
R[j] = arr[m + 1 + j];
20+
21+
22+
int i = 0, j = 0;
23+
24+
25+
int k = l;
26+
while (i < n1 && j < n2) {
27+
if (L[i] <= R[j]) {
28+
arr[k] = L[i];
29+
i++;
30+
}
31+
else {
32+
arr[k] = R[j];
33+
j++;
34+
}
35+
k++;
36+
}
37+
38+
39+
while (i < n1) {
40+
arr[k] = L[i];
41+
i++;
42+
k++;
43+
}
44+
45+
46+
while (j < n2) {
47+
arr[k] = R[j];
48+
j++;
49+
k++;
50+
}
51+
}
52+
53+
54+
void sort(int arr[], int l, int r)
55+
{
56+
if (l < r) {
57+
58+
int m =l+ (r-l)/2;
59+
60+
61+
sort(arr, l, m);
62+
sort(arr, m + 1, r);
63+
64+
merge(arr, l, m, r);
65+
}
66+
}
67+
68+
69+
static void printArray(int arr[])
70+
{
71+
int n = arr.length;
72+
for (int i = 0; i < n; ++i)
73+
System.out.print(arr[i] + " ");
74+
System.out.println();
75+
}
76+
77+
78+
public static void main(String args[])
79+
{
80+
int arr[] = { 12, 11, 13, 5, 6, 7 };
81+
82+
System.out.println("Given Array");
83+
printArray(arr);
84+
85+
MergeSort ob = new MergeSort();
86+
ob.sort(arr, 0, arr.length - 1);
87+
88+
System.out.println("\nSorted array");
89+
printArray(arr);
90+
}
91+
}
92+

src/binary_tree.java

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
2+
class Node
3+
{
4+
int key;
5+
Node left, right;
6+
7+
public Node(int item)
8+
{
9+
key = item;
10+
left = right = null;
11+
}
12+
}
13+
14+
class BinaryTree
15+
{
16+
17+
Node root;
18+
BinaryTree(int key)
19+
{
20+
root = new Node(key);
21+
}
22+
23+
BinaryTree()
24+
{
25+
root = null;
26+
}
27+
28+
public static void main(String[] args)
29+
{
30+
BinaryTree tree = new BinaryTree();
31+
32+
33+
tree.root = new Node(1);
34+
35+
36+
37+
tree.root.left = new Node(2);
38+
tree.root.right = new Node(3);
39+
tree.root.left.left = new Node(4);
40+
41+
}
42+
}

0 commit comments

Comments
 (0)