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:
Spring Boot - Scheduling
Implementing a Runnable vs Extending a Thread
Java Program to Implement Suffix Array
Java Program to Find Path Between Two Nodes in a Graph
Split a String in Java
Java Program to Implement Binomial Heap
Java Program to Find the GCD and LCM of two Numbers
Sending Emails with Java
Spring MVC Tutorial
Converting Iterator to List
Introduction to Spring MVC HandlerInterceptor
Spring Autowiring of Generic Types
Compare Two JSON Objects with Jackson
Java Program to Find Inverse of a Matrix
Setting a Request Timeout for a Spring REST API
Java TreeMap vs HashMap
Tránh lỗi ConcurrentModificationException trong Java như thế nào?
Introduction to the Java NIO Selector
Create a Custom Exception in Java
Tổng quan về ngôn ngữ lập trình java
Java Program to Perform Searching Based on Locality of Reference
Spring Boot Tutorial – Bootstrap a Simple Application
Tránh lỗi NullPointerException trong Java như thế nào?
Java Program to Implement Stack using Linked List
Template Engines for Spring
Spring Security with Maven
Java Program to Represent Graph Using Incidence Matrix
A Guide to System.exit()
Java Program to Describe the Representation of Graph using Incidence Matrix
HTTP Authentification and CGI/Servlet
Java Program to Decode a Message Encoded Using Playfair Cipher
Introduction to Thread Pools in Java