From e40f8232a0e17f7f2a26815c935edf585fead295 Mon Sep 17 00:00:00 2001 From: Deepali Date: Wed, 6 Nov 2019 09:47:54 +0530 Subject: [PATCH 1/2] tress ques --- java programs tree/inorder.java | 33 ++++++++++++++++++++++++ java programs tree/postorder.java | 42 +++++++++++++++++++++++++++++++ java programs tree/preorder.java | 39 ++++++++++++++++++++++++++++ 3 files changed, 114 insertions(+) create mode 100644 java programs tree/inorder.java create mode 100644 java programs tree/postorder.java create mode 100644 java programs tree/preorder.java diff --git a/java programs tree/inorder.java b/java programs tree/inorder.java new file mode 100644 index 0000000..cdc12ee --- /dev/null +++ b/java programs tree/inorder.java @@ -0,0 +1,33 @@ +import java.util.*; +class Inorder +{ + Node root; + Inorder() + { + root = null; + } +void printInorder(Node node) + { + if (node == null) + return; + printInorder(node.left); + System.out.print(node.key + " "); + printInorder(node.right); + } +void printInorder() + { + printInorder(root); + } +public static void main(String[] args) + { + Inorder tree = new Inorder(); + tree.root = new Node(1); + tree.root.left = new Node(2); + tree.root.right = new Node(3); + tree.root.left.left = new Node(4); + tree.root.left.right = new Node(5); + System.out.println("\nInorder traversal of binary tree is "); + tree.printInorder(); + } +} + diff --git a/java programs tree/postorder.java b/java programs tree/postorder.java new file mode 100644 index 0000000..9f15c70 --- /dev/null +++ b/java programs tree/postorder.java @@ -0,0 +1,42 @@ +import java.util.*; + + +class PostOrder + { + Node root; + + PostOrder() + { + root = null; + } + + void printPostorder(Node node) + { + if (node == null) + return; + printPostorder(node.left); + printPostorder(node.right); + + System.out.print(node.key + " "); + } + + void printPostorder() { printPostorder(root); } + + // Driver method + public static void main(String[] args) + { + PostOrder tree = new PostOrder(); + tree.root = new Node(1); + tree.root.left = new Node(2); + tree.root.right = new Node(3); + tree.root.left.left = new Node(4); + tree.root.left.right = new Node(5); + + + + System.out.println("\nPostorder traversal of binary tree is "); + tree.printPostorder(); + + + } + } diff --git a/java programs tree/preorder.java b/java programs tree/preorder.java new file mode 100644 index 0000000..c6c7f6d --- /dev/null +++ b/java programs tree/preorder.java @@ -0,0 +1,39 @@ +import java.util.*; +class PreOrder +{ + Node root; + + PreOrder() + { + root = null; + } + + void printPreorder(Node node) + { + if (node == null) + return; + System.out.print(node.key + " "); + printPreorder(node.left); + printPreorder(node.right); + } + + void printPreorder() { printPreorder(root); } + + // Driver method + public static void main(String[] args) + { + PreOrder tree = new PreOrder(); + tree.root = new Node(1); + tree.root.left = new Node(2); + tree.root.right = new Node(3); + tree.root.left.left = new Node(4); + tree.root.left.right = new Node(5); + + + + System.out.println("\nPreorder traversal of binary tree is "); + tree.printPreorder(); + + + } +} \ No newline at end of file From db173379b96de7b134082de60051a9cd5a44ab7d Mon Sep 17 00:00:00 2001 From: Deepali Date: Fri, 13 Dec 2019 22:07:46 +0530 Subject: [PATCH 2/2] Create SortingLinkedList --- linked list/SortingLinkedList | 107 ++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 linked list/SortingLinkedList diff --git a/linked list/SortingLinkedList b/linked list/SortingLinkedList new file mode 100644 index 0000000..11f87dc --- /dev/null +++ b/linked list/SortingLinkedList @@ -0,0 +1,107 @@ +public class linkedList { + node head = null; + // node a, b; + static class node { + int val; + node next; + + public node(int val) + { + this.val = val; + } + } + + node sortedMerge(node a, node b) + { + node result = null; + /* Base cases */ + if (a == null) + return b; + if (b == null) + return a; + + /* Pick either a or b, and recur */ + if (a.val <= b.val) { + result = a; + result.next = sortedMerge(a.next, b); + } + else { + result = b; + result.next = sortedMerge(a, b.next); + } + return result; + } + + node mergeSort(node h) + { + + if (h == null || h.next == null) { + return h; + } + + + node middle = getMiddle(h); + node nextofmiddle = middle.next; + + middle.next = null; + + + node left = mergeSort(h); + + + node right = mergeSort(nextofmiddle); + + node sortedlist = sortedMerge(left, right); + return sortedlist; + } + + public static node getMiddle(node head) + { + if (head == null) + return head; + + node slow = head, fast = head; + + while (fast.next != null && fast.next.next != null) { + slow = slow.next; + fast = fast.next.next; + } + return slow; + } + + void push(int new_data) + { + node new_node = new node(new_data); + + new_node.next = head; + + head = new_node; + } + + + void printList(node headref) + { + while (headref != null) { + System.out.print(headref.val + " "); + headref = headref.next; + } + } + + public static void main(String[] args) + { + + linkedList li = new linkedList(); + + li.push(15); + li.push(10); + li.push(5); + li.push(20); + li.push(3); + li.push(2); + + + li.head = li.mergeSort(li.head); + System.out.print("\n Sorted Linked List is: \n"); + li.printList(li.head); + } +}