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 Quick sort
Java Program to Implement Multi-Threaded Version of Binary Search Tree
Java – Reader to InputStream
Java Program to Find ith Largest Number from a Given List Using Order-Statistic Algorithm
Serverless Functions with Spring Cloud Function
Java Program to Implement Sorted Circular Doubly Linked List
How to Read HTTP Headers in Spring REST Controllers
Guide to Guava Table
Constructor Injection in Spring with Lombok
Java Deep Learning Essentials - Yusuke Sugomori
Mapping Nested Values with Jackson
Function trong Java 8
Java Program to Represent Graph Using Incidence List
A Guide to System.exit()
Queue và PriorityQueue trong Java
Spring Boot - Build Systems
Java Program to Evaluate an Expression using Stacks
Java Program to Implement Tarjan Algorithm
Xử lý ngoại lệ đối với trường hợp ghi đè phương thức trong java
Sorting Query Results with Spring Data
Đồng bộ hóa các luồng trong Java
Convert Time to Milliseconds in Java
Apache Tiles Integration with Spring MVC
Java Program to Implement First Fit Decreasing for 1-D Objects and M Bins
Simplify the DAO with Spring and Java Generics
New Features in Java 8
Guide to the Volatile Keyword in Java
Reading an HTTP Response Body as a String in Java
Java Program to Print the Kind of Rotation the AVL Tree is Undergoing
Java Program to Create a Random Linear Extension for a DAG
Giới thiệu JDBC Connection Pool
“Stream has already been operated upon or closed” Exception in Java