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 Iterative Deepening
Java Program to Implement Segment Tree
String Joiner trong Java 8
Introduction to Spliterator in Java
XML Serialization and Deserialization with Jackson
Java program to Implement Tree Set
Semaphore trong Java
Java Program to Implement Graham Scan Algorithm to Find the Convex Hull
Comparing Arrays in Java
TreeSet và sử dụng Comparable, Comparator trong java
Setting a Request Timeout for a Spring REST API
Java Program to Implement Dijkstra’s Algorithm using Queue
Guide to UUID in Java
Guide to the Java TransferQueue
Using JWT with Spring Security OAuth (legacy stack)
Java Program to Generate All Subsets of a Given Set in the Lexico Graphic Order
JUnit 5 for Kotlin Developers
A Guide to BitSet in Java
Cài đặt và sử dụng Swagger UI
Hướng dẫn Java Design Pattern – State
Java Program to Implement Warshall Algorithm
Java Program to Implement Binomial Heap
Java 14 Record Keyword
Mệnh đề Switch-case trong java
Guava CharMatcher
Filtering a Stream of Optionals in Java
String Processing with Apache Commons Lang 3
Một số từ khóa trong Java
Guide to System.gc()
@DynamicUpdate with Spring Data JPA
Java Program to Represent Linear Equations in Matrix Form
Spring Boot - Code Structure