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)); + } + } + 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 adj[]; + + // Constructor + Graph(int v) + { + V = v; + adj = new LinkedList[v]; + for (int i=0; i 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