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:
Ép kiểu trong Java (Type casting)
Java Program to Implement ArrayBlockingQueue API
Spring Security and OpenID Connect
Java – Write an InputStream to a File
Java Program to Implement String Matching Using Vectors
HttpClient 4 – Send Custom Cookie
Sử dụng CountDownLatch trong Java
Lập trình đa luồng trong Java (Java Multi-threading)
Java Program to Compute Determinant of a Matrix
Java Program to Check if a Given Graph Contain Hamiltonian Cycle or Not
A Guide to the finalize Method in Java
Java – Convert File to InputStream
How to Count Duplicate Elements in Arraylist
Guide to the ConcurrentSkipListMap
Debugging Reactive Streams in Java
Spring Security 5 – OAuth2 Login
Configure a Spring Boot Web Application
Java Program to Implement the Hungarian Algorithm for Bipartite Matching
Java CyclicBarrier vs CountDownLatch
Apache Commons Collections BidiMap
HashMap trong Java hoạt động như thế nào?
ETL with Spring Cloud Data Flow
Extract network card address
Java Program to Perform Stooge Sort
Spring Boot - Scheduling
Introduction to the Java ArrayDeque
Immutable Map Implementations in Java
How to Change the Default Port in Spring Boot
Java Program to Implement SynchronosQueue API
Java Web Services – Jersey JAX-RS – REST và sử dụng REST API testing tools với Postman
Java Program to Implement LinkedBlockingDeque API
Spring Boot - Google Cloud Platform