edu.princeton.cs.algs4
Class BinaryInsertion
- java.lang.Object
-
- edu.princeton.cs.algs4.BinaryInsertion
-
public class BinaryInsertion extends java.lang.ObjectTheBinaryInsertionclass provides a static method for sorting an array using an optimized binary insertion sort with half exchanges.This implementation makes ~ n lg n compares for any array of length n. However, in the worst case, the running time is quadratic because the number of array accesses can be proportional to n^2 (e.g, if the array is reverse sorted). As such, it is not suitable for sorting large arrays (unless the number of inversions is small).
The sorting algorithm is stable and uses O(1) extra memory.
For additional documentation, see Section 2.1 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static voidmain(java.lang.String[] args)Reads in a sequence of strings from standard input; insertion sorts them; and prints them to standard output in ascending order.static voidsort(java.lang.Comparable[] a)Rearranges the array in ascending order, using the natural order.
-
-
-
Method Detail
-
sort
public static void sort(java.lang.Comparable[] a)
Rearranges the array in ascending order, using the natural order.- Parameters:
a- the array to be sorted
-
main
public static void main(java.lang.String[] args)
Reads in a sequence of strings from standard input; insertion sorts them; and prints them to standard output in ascending order.- Parameters:
args- the command-line arguments
-
-
DataMelt 3.0 © DataMelt by jWork.ORG