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:
Logout in an OAuth Secured Application
A Quick Guide to Spring MVC Matrix Variables
Giới thiệu Json Web Token (JWT)
Java Program to Check if a Given Graph Contain Hamiltonian Cycle or Not
Java Program to Implement Direct Addressing Tables
Configure a Spring Boot Web Application
Service Registration with Eureka
Một số từ khóa trong Java
Java Program to do a Depth First Search/Traversal on a graph non-recursively
Java Program to Implement Bit Array
Java Program to Implement Interpolation Search Algorithm
Java Program to Use Dynamic Programming to Solve Approximate String Matching
Documenting a Spring REST API Using OpenAPI 3.0
Java Program to Implement Hash Tree
Removing Elements from Java Collections
Java Program to Implement the Monoalphabetic Cypher
Đồng bộ hóa các luồng trong Java
Java Program to Perform Optimal Paranthesization Using Dynamic Programming
Java Program to Implement Gale Shapley Algorithm
Java Program to Emulate N Dice Roller
Exploring the Spring 5 WebFlux URL Matching
RegEx for matching Date Pattern in Java
Java Program to Implement the MD5 Algorithm
HttpClient 4 Cookbook
Luồng Daemon (Daemon Thread) trong Java
Spring Cloud Series – The Gateway Pattern
Spring Boot - Service Components
Java Program to Perform Partial Key Search in a K-D Tree
Java Program to Implement Flood Fill Algorithm
Guide to Dynamic Tests in Junit 5
Introduction to Spring Data JPA
Simple Single Sign-On with Spring Security OAuth2