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:
Phương thức tham chiếu trong Java 8 – Method References
Java Program to Implement the MD5 Algorithm
String Initialization in Java
Java Program to Solve Set Cover Problem assuming at max 2 Elements in a Subset
Java Program to Compute DFT Coefficients Directly
Spring Boot - Thymeleaf
Một số từ khóa trong Java
Java Program to Find the Longest Subsequence Common to All Sequences in a Set of Sequences
Java – Random Long, Float, Integer and Double
Guide to UUID in Java
Introduction to Spring Data REST
Java TreeMap vs HashMap
Java Program to Check the Connectivity of Graph Using DFS
Java Program to Implement Floyd Cycle Algorithm
Từ khóa static và final trong java
So sánh ArrayList và LinkedList trong Java
Spring Data JPA @Modifying Annotation
Multi Dimensional ArrayList in Java
Java Program to Find MST (Minimum Spanning Tree) using Prim’s Algorithm
Java Program to Check Cycle in a Graph using Graph traversal
Template Engines for Spring
Java Program to Perform the Sorting Using Counting Sort
A Quick Guide to Spring MVC Matrix Variables
OAuth2 for a Spring REST API – Handle the Refresh Token in Angular
The StackOverflowError in Java
How to Set TLS Version in Apache HttpClient
Java CyclicBarrier vs CountDownLatch
Introduction to Spring Cloud Rest Client with Netflix Ribbon
Quick Guide to Spring Bean Scopes
Java Program to Find the Number of Ways to Write a Number as the Sum of Numbers Smaller than Itself
Pagination and Sorting using Spring Data JPA
Spring NoSuchBeanDefinitionException