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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | //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:
1 2 3 4 5 6 7 8 9 | $ 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 the Program Used in grep/egrep/fgrep
Serialization và Deserialization trong java
Finding Max/Min of a List or Collection
ThreadPoolTaskExecutor corePoolSize vs. maxPoolSize
Tìm hiểu về Web Service
Custom Thread Pools In Java 8 Parallel Streams
Sử dụng Fork/Join Framework với ForkJoinPool trong Java
Apache Commons Collections BidiMap
Một số ký tự đặc biệt trong Java
Jackson Exceptions – Problems and Solutions
Spring Boot - CORS Support
Remove the First Element from a List
Java Program to Implement Find all Back Edges in a Graph
Java Program to Use Above Below Primitive to Test Whether Two Lines Intersect
Comparing Objects in Java
Runnable vs. Callable in Java
Removing Elements from Java Collections
Ép kiểu trong Java (Type casting)
Guide to ThreadLocalRandom in Java
Java Stream Filter with Lambda Expression
Java Program to Implement Heap Sort Using Library Functions
Java Program to Implement Bubble Sort
Derived Query Methods in Spring Data JPA Repositories
Java Program to Implement Threaded Binary Tree
Hướng dẫn sử dụng Lớp FilePermission trong java
Java Program to Implement AttributeList API
Reading an HTTP Response Body as a String in Java
Java Program to Generate All Possible Combinations Out of a, b, c, d, e
Retrieve User Information in Spring Security
Java Program to Perform Stooge Sort
Spring’s RequestBody and ResponseBody Annotations
Abstract class và Interface trong Java