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:
Logging in Spring Boot
Predicate trong Java 8
Comparing Strings in Java
Java Program to Implement Double Ended Queue
Java Program to Decode a Message Encoded Using Playfair Cipher
Object Type Casting in Java
Java Program to Implement Stein GCD Algorithm
Java Program to Implement AVL Tree
Java Program to Generate Random Numbers Using Middle Square Method
Java Program to Implement DelayQueue API
Spring Boot - Enabling HTTPS
Posting with HttpClient
What is Thread-Safety and How to Achieve it?
Dockerizing a Spring Boot Application
Hướng dẫn sử dụng Printing Service trong Java
Java Program to Perform Encoding of a Message Using Matrix Multiplication
Quản lý bộ nhớ trong Java với Heap Space vs Stack
Spring Data MongoDB Transactions
Spring Data JPA @Query
Java Program to Perform String Matching Using String Library
Java Program to Find All Pairs Shortest Path
Java Program to Construct an Expression Tree for an Infix Expression
How to Find an Element in a List with Java
Hướng dẫn Java Design Pattern – Intercepting Filter
Using Spring @ResponseStatus to Set HTTP Status Code
Finding Max/Min of a List or Collection
Java – Random Long, Float, Integer and Double
Java Program to Give an Implementation of the Traditional Chinese Postman Problem
Java Program to Construct K-D Tree for 2 Dimensional Data
So sánh ArrayList và LinkedList trong Java
Java Program to Implement Warshall Algorithm
Java Program to Implement Traveling Salesman Problem using Nearest neighbour Algorithm