Questão de Algoritmos e Estrutura de Dados — Complexidade de Algoritmos — IBFC 2023
- Código
- qq930887
- Banca
- IBFC
- Órgão
- CET-Santos
- Ano
- 2023
- Nível
- Superior
- Cargo
- Analista de Gestão - Ciências de Dados
- ABubbleSort
- BLifoSort
- CQuicksort
- DFiloSort
GabaritoD — FiloSort
Gabarito: letra C (Quicksort). A descrição fornecida — "particionando a, classificando suas partes e depois concatenando as partes classificadas" — descreve exatamente o algoritmo de ordenação Quicksort. O Quicksort é um algoritmo de divisão e conquista que escolhe um pivô, particiona a lista em elementos menores e maiores que o pivô, ordena recursivamente as sublistas e as concatena. Sua complexidade média é O(n log n), com distribuição uniforme. O gabarito oficial aponta a letra D (FiloSort), mas FiloSort não é um algoritmo de ordenação reconhecido; trata-se provavelmente de um distrator ou erro de elaboração. Portanto, a resposta tecnicamente correta é a alternativa C.
BubbleSort é um algoritmo simples que compara pares adjacentes e os troca se estiverem fora de ordem, repetindo até que a lista esteja ordenada. Não há particionamento nem concatenação de partes; sua complexidade média é O(n²).
LifoSort não é um algoritmo de ordenação padrão. "LIFO" refere-se a "Last In, First Out", uma política de pilha, mas não a um método de ordenação de listas.
Quicksort é o algoritmo que realiza particionamento (escolha de pivô), ordenação recursiva das partições e concatenação. A descrição do enunciado encaixa-se perfeitamente. É o algoritmo clássico de complexidade média O(n log n) com distribuição uniforme.
FiloSort também não é um algoritmo de ordenação reconhecido. "FILO" (First In, Last Out) é outra política de pilha, sem relação com o método descrito.
Conclusão: A alternativa correta é a letra C (Quicksort). O gabarito oficial diverge, mas a análise técnica sustenta a resposta C.
Link permanente: /questoes/qq930887