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:
Spring Data JPA Delete and Relationships
Giới thiệu Google Guice – Binding
Java Byte Array to InputStream
Java Stream Filter with Lambda Expression
Remove All Occurrences of a Specific Value from a List
Introduction to Spring Data JDBC
Java Program to Implement CopyOnWriteArrayList API
Sắp xếp trong Java 8
Java Program to Implement Bresenham Line Algorithm
Java Program to Generate All Subsets of a Given Set in the Lexico Graphic Order
Giới thiệu Json Web Token (JWT)
Phương thức forEach() trong java 8
Spring Boot - Bootstrapping
Java Program to Implement Stack using Linked List
Java Program to Print only Odd Numbered Levels of a Tree
Java Program to Implement Gauss Jordan Elimination
Jackson – JsonMappingException (No serializer found for class)
Java Program to Implement Min Hash
Java Program to Implement Treap
Java Program to Implement Direct Addressing Tables
Spring Data JPA @Query
Exception Handling in Java
Show Hibernate/JPA SQL Statements from Spring Boot
HttpClient with SSL
Java Program to Implement Adjacency List
Java – Get Random Item/Element From a List
Hướng dẫn Java Design Pattern – Mediator
Hướng dẫn Java Design Pattern – Observer
Java Program to Permute All Letters of an Input String
Hướng dẫn Java Design Pattern – Visitor
HttpAsyncClient Tutorial
New Features in Java 9