This is a java program to sort an elements in order n time. Bucket sort can be used to achieve this goal. Bucket sort is O(n) algorithm in time but takes more space, than the normal algorithms.
Here is the source code of the Java Program to Implement Sorting of Less than 100 Numbers in O(n) Complexity. 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 less than 100 in O(n) time //Bucket sort is O(n) algorithm import java.util.Random; public class Order_n_Sorting_Algorithm { 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 O(n) BUCKET SORT algorithm"); Random random = new Random(); int N = 25; 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 Order_n_Sorting_Algorithm.java $ java Order_n_Sorting_Algorithm Sorting of randomly generated numbers using O(n) BUCKET SORT algorithm Original Sequence: 43 50 28 1 80 8 77 92 55 44 15 42 47 98 44 12 78 36 73 57 86 36 11 35 51 Sorted Sequence: 1 8 11 12 15 28 35 36 36 42 43 44 44 47 50 51 55 57 73 77 78 80 86 92 98
Related posts:
Java Program to Implement Floyd Cycle Algorithm
Java Program to Generate a Random UnDirected Graph for a Given Number of Edges
Java Program to Implement EnumMap API
Java Program to Solve any Linear Equation in One Variable
How to Replace Many if Statements in Java
Remove HTML tags from a file to extract only the TEXT
Java Program to Implement the One Time Pad Algorithm
An Intro to Spring Cloud Zookeeper
Giới thiệu Google Guice – Injection, Scope
StringBuilder vs StringBuffer in Java
Java Program to Implement K Way Merge Algorithm
Java Program to Find Median of Elements where Elements are Stored in 2 Different Arrays
How to Define a Spring Boot Filter?
Generating Random Dates in Java
Java Program to Evaluate an Expression using Stacks
Java Program to Implement Sorted Doubly Linked List
Create a Custom Auto-Configuration with Spring Boot
Hướng dẫn Java Design Pattern – State
Java Program to Generate All Subsets of a Given Set in the Lexico Graphic Order
Java Program to Represent Graph Using 2D Arrays
Hướng dẫn Java Design Pattern – Builder
REST Web service: Upload và Download file với Jersey 2.x
Java Program to Implement the Hungarian Algorithm for Bipartite Matching
Biến trong java
Java – Reader to InputStream
Java Program to Implement Pagoda
Giới thiệu HATEOAS
Java Program to Implement Sorted Vector
OAuth2.0 and Dynamic Client Registration
Spring Boot - Servlet Filter
Integer Constant Pool trong Java
Returning Custom Status Codes from Spring Controllers