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:
Convert Time to Milliseconds in Java
A Guide To UDP In Java
Spring Boot - Tomcat Deployment
Spring Cloud – Bootstrapping
Java Program to Compute the Volume of a Tetrahedron Using Determinants
Java Program to Perform the Unique Factorization of a Given Number
Guava CharMatcher
Java Program to Encode a Message Using Playfair Cipher
Java Program to Construct K-D Tree for 2 Dimensional Data
Spring Cloud – Adding Angular
RestTemplate Post Request with JSON
Annotation trong Java 8
Interface trong Java 8 – Default method và Static method
Remove HTML tags from a file to extract only the TEXT
Java Program to Implement Fermat Primality Test Algorithm
Java Program to Implement EnumMap API
Java Program to Implement Find all Back Edges in a Graph
Java Program to Check if any Graph is Possible to be Constructed for a Given Degree Sequence
Java Program to Implement Booth Algorithm
Logging in Spring Boot
Immutable Objects in Java
Java Program to Perform integer Partition for a Specific Case
Java Program to Implement CountMinSketch
Từ khóa static và final trong java
Intro to Spring Boot Starters
Spring Data MongoDB – Indexes, Annotations and Converters
Spring Cloud Bus
Java Program to Construct an Expression Tree for an Prefix Expression
Hướng dẫn Java Design Pattern – Singleton
Java Program to Find MST (Minimum Spanning Tree) using Kruskal’s Algorithm
ArrayList trong java
Spring Boot - CORS Support