Interface SortAlgorithm

All Known Implementing Classes:
BubbleSort, CountingSort, DualPivotQuickSort, HeapSort, InsertionSort, IntroSort, MergeSort, QuickSort, QuickSort3Way, RadixSort, SelectionSort, ShellSort, TimSortSimplificado

public interface SortAlgorithm
Contrato comum de todos os algoritmos de ordenacao (padrao de projeto Strategy).
  • Method Details

    • nome

      String nome()
    • complexidade

      Complexidade complexidade()
    • descricao

      String descricao()
    • ordenar

      <T> void ordenar(InstrumentedArray<T> a)
      Ordena in-place o array instrumentado.
    • exigeChaveNumerica

      default boolean exigeChaveNumerica()
      Indica se o algoritmo precisa de uma chave numerica em vez de um comparador (Radix Sort).
    • aceitaFaixa

      default boolean aceitaFaixa(long minimo, long maximo)
      Indica se o algoritmo consegue ordenar chaves nesse intervalo (o Counting Sort so aceita intervalos pequenos).
    • ordenar

      default <T> OperationMetrics ordenar(T[] dados, Comparator<? super T> comparador)
      Ordena um vetor in-place e devolve as metricas da execucao.
    • ordenar

      default <T> OperationMetrics ordenar(T[] dados, Comparator<? super T> comparador, ToLongFunction<? super T> chaveNumerica)
      Ordena um vetor in-place e devolve as metricas da execucao.