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 ScapeGoat Tree
Introduction to Spring Data JDBC
Lập trình đa luồng với Callable và Future trong Java
Spring Boot - Database Handling
Thao tác với tập tin và thư mục trong Java
Java Program to Implement Hash Tables with Linear Probing
Intersection of Two Lists in Java
A Guide to Concurrent Queues in Java
A Guide to BitSet in Java
Java Program to Implement Gabow Algorithm
Hướng dẫn Java Design Pattern – Bridge
The SpringJUnitConfig and SpringJUnitWebConfig Annotations in Spring 5
Hướng dẫn Java Design Pattern – Intercepting Filter
Model, ModelMap, and ModelAndView in Spring MVC
Lập trình đa luồng trong Java (Java Multi-threading)
Java Program to Implement Binomial Heap
Quick Guide to Spring Bean Scopes
Getting Started with Forms in Spring MVC
Prevent Cross-Site Scripting (XSS) in a Spring Application
Java Byte Array to InputStream
A Guide to JUnit 5
Control Structures in Java
Registration with Spring Security – Password Encoding
Guide to the ConcurrentSkipListMap
Java Program to Implement Rolling Hash
Giới thiệu HATEOAS
Spring Data JPA @Query
Collect a Java Stream to an Immutable Collection
Java Program to Perform Encoding of a Message Using Matrix Multiplication
The Difference Between Collection.stream().forEach() and Collection.forEach()
Spring Cloud – Bootstrapping
Introduction to Using Thymeleaf in Spring