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:
JWT – Token-based Authentication trong Jersey 2.x
Java 9 Stream API Improvements
Java 8 Stream findFirst() vs. findAny()
Java Program to Implement Sieve Of Sundaram
Spring Autowiring of Generic Types
Java Program to Implement Nth Root Algorithm
Spring Boot - Servlet Filter
Logout in an OAuth Secured Application
Object cloning trong java
Giới thiệu Design Patterns
Java Program to Perform Postorder Non-Recursive Traversal of a Given Binary Tree
Java Program to Check whether Graph is a Bipartite using 2 Color Algorithm
Java Program to Implement Counting Sort
Tạo chương trình Java đầu tiên sử dụng Eclipse
Java Program to Perform the Unique Factorization of a Given Number
Java Program to Create the Prufer Code for a Tree
Quick Guide to Spring Controllers
An Intro to Spring Cloud Contract
ETags for REST with Spring
Java Program to Implement Graph Coloring Algorithm
Jackson – Unmarshall to Collection/Array
Adding a Newline Character to a String in Java
Java Program to Implement Bresenham Line Algorithm
Loại bỏ các phần tử trùng trong một ArrayList như thế nào trong Java 8?
Running Spring Boot Applications With Minikube
Tips for dealing with HTTP-related problems
Spring Boot - Enabling Swagger2
Java Program to Perform Postorder Recursive Traversal of a Given Binary Tree
Java Program to Implement Direct Addressing Tables
So sánh HashSet, LinkedHashSet và TreeSet trong Java
New Features in Java 9
Hướng dẫn Java Design Pattern – Interpreter