Click or drag to resize
BinaryInsertion Class

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 (unOrderHelper.Less the number of inversions is small).

The sorting algorithm is stable and uses O(1) extra memory.

Inheritance Hierarchy
SystemObject
  Algs4NetBinaryInsertion

Namespace: Algs4Net
Assembly: Algs4Net (in Algs4Net.dll) Version: 1.0.0.0 (1.0.0.0)
Syntax
C#
public class BinaryInsertion

The BinaryInsertion type exposes the following members.

Methods
  NameDescription
Public methodStatic memberMainTest
Reads in a sequence of strings from standard input; insertion sorts them; and prints them to standard output in ascending order.
Public methodStatic memberSort
Rearranges the array in ascending order, using the natural order.
Top
Remarks

For additional documentation, see Section 2.1 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.

This class is a C# port from the original Java class BinaryInsertion implementation by the respective authors.

See Also