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 WebFlux Filters
Spring Boot - Runners
Java Program to Search for an Element in a Binary Search Tree
Java Program to Perform Cryptography Using Transposition Technique
Java Program to Use the Bellman-Ford Algorithm to Find the Shortest Path
Configure a Spring Boot Web Application
Limiting Query Results with JPA and Spring Data JPA
Guide to Spring Cloud Kubernetes
Spring @Primary Annotation
Custom Thread Pools In Java 8 Parallel Streams
Java Program to Implement Hamiltonian Cycle Algorithm
Hướng dẫn Java Design Pattern – Command
Jackson – Change Name of Field
Using JWT with Spring Security OAuth
Java Program to Delete a Particular Node in a Tree Without Using Recursion
Java Program to Implement Direct Addressing Tables
New Features in Java 14
Luồng Daemon (Daemon Thread) trong Java
Java Program to Check if a Directed Graph is a Tree or Not Using DFS
Java Program to Find SSSP (Single Source Shortest Path) in DAG (Directed Acyclic Graphs)
JUnit 5 for Kotlin Developers
Lập trình mạng với java
Lớp Arrarys trong Java (Arrays Utility Class)
Java Program to Implement HashMap API
Java Program to Implement Hash Trie
Netflix Archaius with Various Database Configurations
Java Collections Interview Questions
Spring Boot - Logging
Giới thiệu thư viện Apache Commons Chain
An Example of Load Balancing with Zuul and Eureka
Spring REST API + OAuth2 + Angular
New Features in Java 8