类 BinaryInsertion


  • public class BinaryInsertion
    extends java.lang.Object
    The BinaryInsertion class 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.

    • 方法概要

      修饰符和类型 方法 说明
      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.
      static void sort​(java.lang.Comparable[] a)
      Rearranges the array in ascending order, using the natural order.
      • 从类继承的方法 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 方法详细资料

      • sort

        public static void sort​(java.lang.Comparable[] a)
        Rearranges the array in ascending order, using the natural order.
        参数:
        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.
        参数:
        args - the command-line arguments