Skip to content

Dfstree #53

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions Sorting Algorithms/bucketsort.java
Original file line number Diff line number Diff line change
@@ -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));
}
}

73 changes: 73 additions & 0 deletions Tree/dfstree.java
Original file line number Diff line number Diff line change
@@ -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);
}
}