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 Perform Encoding of a Message Using Matrix Multiplication
Câu lệnh điều khiển vòng lặp trong Java (break, continue)
Java Program to Implement ConcurrentHashMap API
Connect through a Proxy
Generating Random Numbers in a Range in Java
Xử lý ngoại lệ trong Java (Exception Handling)
Spring Boot - Sending Email
Reading an HTTP Response Body as a String in Java
Inheritance and Composition (Is-a vs Has-a relationship) in Java
Lớp Collections trong Java (Collections Utility Class)
Limiting Query Results with JPA and Spring Data JPA
Spring Boot - Quick Start
Java Program to Implement Branch and Bound Method to Perform a Combinatorial Search
Handle EML file with JavaMail
Java Program to Construct a Random Graph by the Method of Random Edge Selection
Java toString() Method
Java Program to Implement the Checksum Method for Small String Messages and Detect
Service Registration with Eureka
Java Web Services – Jersey JAX-RS – REST và sử dụng REST API testing tools với Postman
Sắp xếp trong Java 8
The DAO with JPA and Spring
Java Program to Repeatedly Search the Same Text (such as Bible by building a Data Structure)
A Quick Guide to Spring Cloud Consul
A Guide to BitSet in Java
Tạo số và chuỗi ngẫu nhiên trong Java
Spring Data JPA Delete and Relationships
New Features in Java 13
Java Program to Find the Edge Connectivity of a Graph
Java Program to Find a Good Feedback Edge Set in a Graph
More Jackson Annotations
Guide to Mustache with Spring Boot
Spring Boot - Twilio