This is a java program to sort the numbers using the Bucket Sort Technique. The algorithm allocates the number of memory locations equal to maximum number and initializes all to zero, then each location is incremented as the numbers appears. The time complexity of the algorithm is O(n).
Here is the source code of the Java Program to Implement Bucket Sort. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
//This is a java program to sort numbers using bucket sort
import java.util.Random;
public class Bucket_Sort
{
static int[] sort(int[] sequence, int maxValue)
{
// Bucket Sort
int[] Bucket = new int[maxValue + 1];
int[] sorted_sequence = new int[sequence.length];
for (int i = 0; i < sequence.length; i++)
Bucket[sequence[i]]++;
int outPos = 0;
for (int i = 0; i < Bucket.length; i++)
for (int j = 0; j < Bucket[i]; j++)
sorted_sequence[outPos++] = i;
return sorted_sequence;
}
static void printSequence(int[] sorted_sequence)
{
for (int i = 0; i < sorted_sequence.length; i++)
System.out.print(sorted_sequence[i] + " ");
}
static int maxValue(int[] sequence)
{
int maxValue = 0;
for (int i = 0; i < sequence.length; i++)
if (sequence[i] > maxValue)
maxValue = sequence[i];
return maxValue;
}
public static void main(String args[])
{
System.out
.println("Sorting of randomly generated numbers using BUCKET SORT");
Random random = new Random();
int N = 20;
int[] sequence = new int[N];
for (int i = 0; i < N; i++)
sequence[i] = Math.abs(random.nextInt(100));
int maxValue = maxValue(sequence);
System.out.println("\nOriginal Sequence: ");
printSequence(sequence);
System.out.println("\nSorted Sequence: ");
printSequence(sort(sequence, maxValue));
}
}
Output:
$ javac Bucket_Sort.java $ java Bucket_Sort Sorting of randomly generated numbers using BUCKET SORT Original Sequence: 95 9 95 87 8 81 18 54 57 53 92 15 38 24 8 56 29 69 64 66 Sorted Sequence: 8 8 9 15 18 24 29 38 53 54 56 57 64 66 69 81 87 92 95 95
Related posts:
Giới thiệu Design Patterns
Java Program to Implement Dijkstra’s Algorithm using Priority Queue
Converting Strings to Enums in Java
Java Program to Implement String Matching Using Vectors
Generating Random Dates in Java
Java Program to Implement Pairing Heap
Java Program to Implement Miller Rabin Primality Test Algorithm
Java Program to Implement PriorityBlockingQueue API
Java NIO2 Path API
Java Program to Implement Circular Doubly Linked List
Java Program to Implement vector
Logging in Spring Boot
Spring Boot - Introduction
Hashtable trong java
Java Program to Implement Binary Search Tree
Spring WebClient vs. RestTemplate
Java Program to Implement Coppersmith Freivald’s Algorithm
Java Program to Check whether Directed Graph is Connected using BFS
Explain about URL and HTTPS protocol
DistinctBy in the Java Stream API
Sorting Query Results with Spring Data
Testing in Spring Boot
Guide to @ConfigurationProperties in Spring Boot
Spring Boot - Rest Template
Format ZonedDateTime to String
Integer Constant Pool trong Java
Giới thiệu Java 8
Test a REST API with Java
Split a String in Java
Java Program to Test Using DFS Whether a Directed Graph is Strongly Connected or Not
Annotation trong Java 8
Configure a Spring Boot Web Application