Java Program to Implement Sorting of Less than 100 Numbers in O(n) Complexity

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:

Hướng dẫn Java Design Pattern – Facade
Spring Data Reactive Repositories with MongoDB
Hướng dẫn Java Design Pattern – Bridge
Guava Collections Cookbook
The Spring @Controller and @RestController Annotations
Java Program to Describe the Representation of Graph using Incidence List
Java Program to Implement the Edmond’s Algorithm for Maximum Cardinality Matching
Custom Cascading in Spring Data MongoDB
Running Spring Boot Applications With Minikube
Java Program to Implement Interpolation Search Algorithm
XML Serialization and Deserialization with Jackson
Basic Authentication with the RestTemplate
Convert XML to JSON Using Jackson
Lớp Arrarys trong Java (Arrays Utility Class)
Convert char to String in Java
Introduction to Spring Security Expressions
Java Program to Implement Bresenham Line Algorithm
Java Program to Generate All Subsets of a Given Set in the Gray Code Order
Primitive Type Streams in Java 8
Java Program to Implement Booth Algorithm
Một số ký tự đặc biệt trong Java
Lớp Properties trong java
Java Program to Find Whether a Path Exists Between 2 Given Nodes
How to Read a File in Java
Java Program to Implement Double Order Traversal of a Binary Tree
Java program to Implement Tree Set
SOAP Web service: Upload và Download file sử dụng MTOM trong JAX-WS
Compact Strings in Java 9
Java Program to Implement HashMap API
Java Program to Check Multiplicability of Two Matrices
Java Program to Use the Bellman-Ford Algorithm to Find the Shortest Path
Getting the Size of an Iterable in Java