- Fundamentos de ProgramaçãoAlgoritmosAlgoritmos de OrdenaçãoQuick Sort
- Fundamentos de ProgramaçãoAlgoritmosAnálise de Execução de Algoritmos
- Fundamentos de ProgramaçãoAlgoritmosDividir e Conquistar
Considere o nome do algoritmo apresentado abaixo, cujo nome foi intencionalmente substituído por lacunas indicadas por “ ”:
(A, p, r)
se p < r
então q • PARTICIONAR(A, p, r)
(A, p, q – 1)
(A, q + 1, r)
se p < r
então q • PARTICIONAR(A, p, r)
(A, p, q – 1)
(A, q + 1, r)
O procedimento PARTICIONAR() referenciado no algoritmo contém o seguinte código:
PARTICIONAR(A, p, r)
x • A[r]
i • p – 1
para j • p até r – 1
faça se A[j] <= x
então i • i + 1
trocar A[i] • A[j]
trocar A[i + 1] • A[r]
retornar i + 1
x • A[r]
i • p – 1
para j • p até r – 1
faça se A[j] <= x
então i • i + 1
trocar A[i] • A[j]
trocar A[i + 1] • A[r]
retornar i + 1
A análise dos trechos de código acima permite afirmar que o algoritmo cujo nome foi omitido é o: