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 Implement Segment Tree
Java Program to do a Breadth First Search/Traversal on a graph non-recursively
New Features in Java 13
Why String is Immutable in Java?
Notify User of Login From New Device or Location
Tính kế thừa (Inheritance) trong java
Java Program to Implement Maximum Length Chain of Pairs
JUnit5 Programmatic Extension Registration with @RegisterExtension
Returning Custom Status Codes from Spring Controllers
Recommended Package Structure of a Spring Boot Project
Spring Cloud AWS – Messaging Support
Spring Boot - Hystrix
Java Program to Perform Searching in a 2-Dimension K-D Tree
Easy Ways to Write a Java InputStream to an OutputStream
Spring JDBC
Java Program for Topological Sorting in Graphs
RestTemplate Post Request with JSON
Java Program to Implement Floyd-Warshall Algorithm
Java InputStream to String
Java Program to Implement LinkedHashSet API
Loại bỏ các phần tử trùng trong một ArrayList như thế nào trong Java 8?
Tiêu chuẩn coding trong Java (Coding Standards)
A Quick JUnit vs TestNG Comparison
Circular Dependencies in Spring
Xử lý ngoại lệ trong Java (Exception Handling)
HandlerAdapters in Spring MVC
Optional trong Java 8
Java – InputStream to Reader
Java Program to Implement String Matching Using Vectors
Simple Single Sign-On with Spring Security OAuth2
Validations for Enum Types
The Basics of Java Security