MO417 - Questão para a prova oral

Número: 029

Enunciado:
Considere o algoritmo SELECT(A, i, n), o qual encontra o i-ésimo menor elemento de um arranjo A contendo n elementos distintos. Tal algoritmo pode ser projetado da seguinte forma:

No pior caso, o algoritmo acima é executado em tempo O(n).

Suponha uma modificação dessa implementação de SELECT, na qual os elementos são divididos em ⌊n/6⌋ subconjuntos de 6 elementos e um subconjunto de n mod 6 elementos, tomando então a mediana inferior de cada subconjunto, além do uso do MERGE-SORT no lugar do INSERTION-SORT na segunda etapa. Neste caso, o tempo de execução de SELECT, no pior caso, será de:

  1. O(n2 lg n)
  2. O(n2)
  3. O(n lg n)
  4. O(n)
  5. NDA

Autor(a): Marcos Vinícius Mussel Cirne