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 ConcurrentSkipListMap API
Java NIO2 Path API
Transactions with Spring and JPA
Java Program to Implement SynchronosQueue API
Java Concurrency Interview Questions and Answers
Java Program to Check if a Given Graph Contain Hamiltonian Cycle or Not
Show Hibernate/JPA SQL Statements from Spring Boot
Java Program to Implement Interval Tree
Finding the Differences Between Two Lists in Java
Guide to Java Instrumentation
Thực thi nhiều tác vụ cùng lúc như thế nào trong Java?
Tránh lỗi ConcurrentModificationException trong Java như thế nào?
Using JWT with Spring Security OAuth
Spring REST API with Protocol Buffers
Java Program to Perform Finite State Automaton based Search
Java Program to Find the Peak Element of an Array O(n) time (Naive Method)
Java Program to Check Cycle in a Graph using Graph traversal
Java Program to Implement Network Flow Problem
Adding Parameters to HttpClient Requests
Java Program to Find the Minimum Element of a Rotated Sorted Array using Binary Search approach
Java Program to Implement the Alexander Bogomolny’s UnOrdered Permutation Algorithm for Elements Fro...
Cachable Static Assets with Spring MVC
Java Program to Find All Pairs Shortest Path
Java Program to Implement Queue
Java Program to Implement a Binary Search Tree using Linked Lists
Hướng dẫn Java Design Pattern – Mediator
Java Deep Learning Essentials - Yusuke Sugomori
Handling Errors in Spring WebFlux
Calling Stored Procedures from Spring Data JPA Repositories
Converting a Stack Trace to a String in Java
Java Program to Check if a Matrix is Invertible
Exploring the Spring 5 WebFlux URL Matching