org.terrier.utility
Class HeapSort

java.lang.Object
  extended by org.terrier.utility.HeapSort

public class HeapSort
extends java.lang.Object

An implementation of the heap sort algorithm as described in Cormen et al. Introduction to Algorithms. This class sorts two arrays, with respect to the values of the elements in the first array. There is also an option to sort only N entries with the highest values. In this case, there are two options:

Author:
Vassilis Plachouras

Constructor Summary
HeapSort()
           
 
Method Summary
static void ascendingHeapSort(double[] A, int[] B, short[] C)
          Sorts the given arrays in ascending order, using heap-sort.
static void ascendingHeapSort(double[] A, int[] B, short[] C, int topElements)
          Sorts the top topElements of the given array in ascending order, using heap sort.
static void descendingHeapSort(double[] A, int[] B, short[] C)
          Sorts the given arrays in descending order, using heap-sort.
static void descendingHeapSort(double[] A, int[] B, short[] C, int topElements)
          Sorts the top topElements of the given array in descending order, using heap sort for sorting the values in ascending order and then reversing the order of a specified number of elements.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HeapSort

public HeapSort()
Method Detail

ascendingHeapSort

public static final void ascendingHeapSort(double[] A,
                                           int[] B,
                                           short[] C)
Sorts the given arrays in ascending order, using heap-sort.

Parameters:
A - double[] the first array to be sorted.
B - int[] the second array to be sorted, according to the values of the first array.

descendingHeapSort

public static final void descendingHeapSort(double[] A,
                                            int[] B,
                                            short[] C)
Sorts the given arrays in descending order, using heap-sort.

Parameters:
A - double[] the first array to be sorted.
B - int[] the second array to be sorted, according to the values of the first array.

ascendingHeapSort

public static final void ascendingHeapSort(double[] A,
                                           int[] B,
                                           short[] C,
                                           int topElements)
Sorts the top topElements of the given array in ascending order, using heap sort.

Parameters:
A - double[] the first array to be sorted.
B - int[] the second array to be sorted, according to the values of the first array.
topElements - int the number of elements to be sorted.

descendingHeapSort

public static final void descendingHeapSort(double[] A,
                                            int[] B,
                                            short[] C,
                                            int topElements)
Sorts the top topElements of the given array in descending order, using heap sort for sorting the values in ascending order and then reversing the order of a specified number of elements.

Parameters:
A - double[] the first array to be sorted.
B - int[] the second array to be sorted, according to the values of the first array.
topElements - int the number of elements to be sorted.


Terrier 3.5. Copyright © 2004-2011 University of Glasgow