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:
Java Program to Implement Shell Sort
Deque và ArrayDeque trong Java
Java Program to Implement Double Ended Queue
Guide to Escaping Characters in Java RegExps
Spring Security Registration – Resend Verification Email
Introduction to Spring Cloud Netflix – Eureka
Java Program to Implement ArrayList API
Java Program to Implement Knight’s Tour Problem
Spring Boot - Rest Template
Java Program to Implement Floyd-Warshall Algorithm
Java Program to Implement Bresenham Line Algorithm
Java Program to Implement Multi-Threaded Version of Binary Search Tree
Basic Authentication with the RestTemplate
Java – Combine Multiple Collections
Introduction to Spliterator in Java
Guide to @ConfigurationProperties in Spring Boot
OAuth 2.0 Resource Server With Spring Security 5
Hướng dẫn Java Design Pattern – Service Locator
Sort a HashMap in Java
Java Program to Implement Gauss Seidel Method
RestTemplate Post Request with JSON
wait() and notify() Methods in Java
Java Program to Represent Graph Using Adjacency List
Java – Get Random Item/Element From a List
How to Store Duplicate Keys in a Map in Java?
Java Program to Generate a Sequence of N Characters for a Given Specific Case
String Joiner trong Java 8
Java Program to Implement Binomial Tree
Biểu thức Lambda trong Java 8 – Lambda Expressions
Java – Write an InputStream to a File
HandlerAdapters in Spring MVC
HttpClient with SSL