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:
An Introduction to Java.util.Hashtable Class
Sao chép các phần tử của một mảng sang mảng khác như thế nào?
Configure a RestTemplate with RestTemplateBuilder
Java Program to Implement Skew Heap
Spring RestTemplate Error Handling
Các kiểu dữ liệu trong java
Java Program to Implement Regular Falsi Algorithm
HttpClient 4 – Follow Redirects for POST
Converting Java Date to OffsetDateTime
Java – Create a File
Java Program to implement Dynamic Array
Using Java Assertions
Java Program to Use rand and srand Functions
Java Program to Implement Ternary Search Tree
Java Program to Implement RenderingHints API
Spring WebClient and OAuth2 Support
Most commonly used String methods in Java
How to Change the Default Port in Spring Boot
Lớp TreeMap trong Java
Autoboxing và Unboxing trong Java
Java Program to Implement Segment Tree
Một số nguyên tắc, định luật trong lập trình
Tìm hiểu về xác thực và phân quyền trong ứng dụng
Marker Interface trong Java
Java Program to Generate Date Between Given Range
Java Program to Perform Polygon Containment Test
Giới thiệu SOAP UI và thực hiện test Web Service
Hướng dẫn Java Design Pattern – Decorator
HashSet trong java
Java Program to Implement Max Heap
Java Program to Implement CopyOnWriteArrayList API
Java Program to Implement Dijkstra’s Algorithm using Priority Queue