From d0eadd19893217c9897d40d8bf7da39853a5d9bd Mon Sep 17 00:00:00 2001
From: Gayangitharaka <gayangitharaka.gt@gmail.com>
Date: Thu, 17 Oct 2019 22:22:21 +0530
Subject: [PATCH 1/2] added bucketsort

---
 Sorting Algorithms/bucketsort.java | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)
 create mode 100644 Sorting Algorithms/bucketsort.java

diff --git a/Sorting Algorithms/bucketsort.java b/Sorting Algorithms/bucketsort.java
new file mode 100644
index 0000000..41ab33b
--- /dev/null
+++ b/Sorting Algorithms/bucketsort.java	
@@ -0,0 +1,30 @@
+
+
+    // Bucket Sort in Java programming
+    import java.util.*;
+    class BucketSort {
+      public static void bucketSort(int[] array, int size) {
+        int max = (Arrays.stream(array).max().getAsInt());
+        int[] bucket = new int[max + 1];
+        for (int i = 0; i <= max; i++) {
+          bucket[i] = 0;
+        }
+        for (int i = 0; i < size; i++) {
+          bucket[array[i]]++;
+        }
+        for (int i = 0, j = 0; i <= max; i++) {
+          while (bucket[i] > 0) {
+            array[j++] = i;
+            bucket[i]--;
+          }
+        }
+      }
+      public static void main(String[] args) {
+        int[] data = { 4, 3, 4, 5, 6, 9, 1, 5 };
+        int size = data.length;
+        BucketSort bs = new BucketSort();
+        bs.bucketSort(data, size);
+        System.out.println("Sorted Array in Ascending Order: " + Arrays.toString(data));
+      }
+    }
+

From 7141b684cfe7d5a0fe565531fe24d54962d7eb1a Mon Sep 17 00:00:00 2001
From: Gayangitharaka <gayangitharaka.gt@gmail.com>
Date: Thu, 17 Oct 2019 22:28:26 +0530
Subject: [PATCH 2/2] added dfstree

---
 Tree/dfstree.java | 73 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 73 insertions(+)
 create mode 100644 Tree/dfstree.java

diff --git a/Tree/dfstree.java b/Tree/dfstree.java
new file mode 100644
index 0000000..6697a31
--- /dev/null
+++ b/Tree/dfstree.java
@@ -0,0 +1,73 @@
+// Java program to print DFS traversal from a given given graph 
+import java.io.*; 
+import java.util.*; 
+  
+// This class represents a directed graph using adjacency list 
+// representation 
+class Graph 
+{ 
+    private int V;   // No. of vertices 
+  
+    // Array  of lists for Adjacency List Representation 
+    private LinkedList<Integer> adj[]; 
+  
+    // Constructor 
+    Graph(int v) 
+    { 
+        V = v; 
+        adj = new LinkedList[v]; 
+        for (int i=0; i<v; ++i) 
+            adj[i] = new LinkedList(); 
+    } 
+  
+    //Function to add an edge into the graph 
+    void addEdge(int v, int w) 
+    { 
+        adj[v].add(w);  // Add w to v's list. 
+    } 
+  
+    // A function used by DFS 
+    void DFSUtil(int v,boolean visited[]) 
+    { 
+        // Mark the current node as visited and print it 
+        visited[v] = true; 
+        System.out.print(v+" "); 
+  
+        // Recur for all the vertices adjacent to this vertex 
+        Iterator<Integer> i = adj[v].listIterator(); 
+        while (i.hasNext()) 
+        { 
+            int n = i.next(); 
+            if (!visited[n]) 
+                DFSUtil(n, visited); 
+        } 
+    } 
+  
+    // The function to do DFS traversal. It uses recursive DFSUtil() 
+    void DFS(int v) 
+    { 
+        // Mark all the vertices as not visited(set as 
+        // false by default in java) 
+        boolean visited[] = new boolean[V]; 
+  
+        // Call the recursive helper function to print DFS traversal 
+        DFSUtil(v, visited); 
+    } 
+  
+    public static void main(String args[]) 
+    { 
+        Graph g = new Graph(4); 
+  
+        g.addEdge(0, 1); 
+        g.addEdge(0, 2); 
+        g.addEdge(1, 2); 
+        g.addEdge(2, 0); 
+        g.addEdge(2, 3); 
+        g.addEdge(3, 3); 
+  
+        System.out.println("Following is Depth First Traversal "+ 
+                           "(starting from vertex 2)"); 
+  
+        g.DFS(2); 
+    } 
+} 
\ No newline at end of file