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:
Hashtable trong java
Guava Collections Cookbook
Java Program to Implement Hash Tree
Java Program to Create a Random Graph Using Random Edge Generation
Spring Security – Reset Your Password
Java Program to Implement Coppersmith Freivald’s Algorithm
Mapping a Dynamic JSON Object with Jackson
Using Custom Banners in Spring Boot
Java Program to Implement LinkedBlockingDeque API
Easy Ways to Write a Java InputStream to an OutputStream
Using the Map.Entry Java Class
Serialize Only Fields that meet a Custom Criteria with Jackson
Java Program to Check for balanced parenthesis by using Stacks
Simultaneous Spring WebClient Calls
New in Spring Security OAuth2 – Verify Claims
Java Program to Implement Min Heap
Java Program to Implement LinkedHashSet API
Spring @RequestParam Annotation
A Guide to the finalize Method in Java
Copy a List to Another List in Java
Custom Thread Pools In Java 8 Parallel Streams
Spring Security Registration – Resend Verification Email
Working with Kotlin and JPA
Hướng dẫn Java Design Pattern – Intercepting Filter
Java Program to Implement CountMinSketch
Toán tử instanceof trong java
Exploring the New Spring Cloud Gateway
Notify User of Login From New Device or Location
Generating Random Dates in Java
Java Program to Implement Heap
Java 8 Collectors toMap
Java Program to Implement CopyOnWriteArrayList API