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:
Spring WebFlux Filters
Constructor Dependency Injection in Spring
Java Program to Generate All Pairs of Subsets Whose Union Make the Set
Lớp TreeMap trong Java
Posting with HttpClient
Java Program to Implement Horner Algorithm
Java Program to Implement Quick sort
Java Program to Implement PrinterStateReasons API
Hướng dẫn Java Design Pattern – Command
Java Program to Implement a Binary Search Algorithm for a Specific Search Sequence
Java Program to Implement Min Heap
Lớp Collections trong Java (Collections Utility Class)
Getting a File’s Mime Type in Java
Java Program to Perform LU Decomposition of any Matrix
Constructor Injection in Spring with Lombok
Java Program to Perform the Unique Factorization of a Given Number
Guide to Java Instrumentation
A Guide to Apache Commons Collections CollectionUtils
Spring Boot: Customize Whitelabel Error Page
Send an email with an attachment
Java Program to Generate Random Partition out of a Given Set of Numbers or Characters
Converting a Stack Trace to a String in Java
Java Program to Print the Kind of Rotation the AVL Tree is Undergoing
What is Thread-Safety and How to Achieve it?
Java Program to Implement Sorted Vector
Spring WebClient vs. RestTemplate
Spring Cloud – Bootstrapping
Java Program to Implement Control Table
TreeSet và sử dụng Comparable, Comparator trong java
Java Program to Compute Discrete Fourier Transform Using Naive Approach
Guide to ThreadLocalRandom in Java
Updating your Password