Questão de Algoritmos e Estrutura de Dados — Algoritmos — COSEAC 2019
- Código
- qq437977
- Banca
- COSEAC
- Órgão
- UFF
- Ano
- 2019
- Nível
- Superior
- Cargo
- Analista de Tecnologia da Informação
- AV, F e V.
- BF, V e V.
- CV, F e F.
- DF, F e V.
- EV, V e V.
GabaritoB — F, V e V.
Gabarito: letra B. A sequência correta é F, V, V. A afirmativa I é falsa (quicksort não é eficiente para poucos elementos); a II é verdadeira (shell sort utiliza inserção direta); a III é verdadeira (bubble sort usa poucas variáveis). As demais alternativas contêm pelo menos um erro na valoração das afirmativas.
Afirmativa I — ❌ Falsa O quicksort tem complexidade média O(n log n), mas seu desempenho para conjuntos muito pequenos é prejudicado pelo overhead de recursão e partição. Algoritmos como o insertion sort são mais eficientes nesses casos. Portanto, a afirmação de que o quicksort é "muito eficiente" para pequenas quantidades está incorreta.
Afirmativa II — ✅ Verdadeira O shell sort é uma generalização do insertion sort. Ele ordena elementos distantes e, quando o incremento atinge 1, realiza uma inserção direta completa. Assim, o shell sort "utiliza intensamente a inserção direta" – a afirmação está correta.
Afirmativa III — ✅ Verdadeira O bubble sort requer apenas algumas variáveis: contadores para os laços (i, j), uma variável temporária para realizar a troca e, eventualmente, uma flag para detectar se houve troca. O número de variáveis é realmente pequeno, confirmando a veracidade da afirmação.
Afirmativa | Julgamento Correto | Motivo |
|---|---|---|
I – Quicksort é muito eficiente para poucos elementos | Falsa | O quicksort tem overhead de recursão e partição; para conjuntos pequenos, algoritmos como insertion sort são mais eficientes. |
II – Shell sort utiliza intensamente a inserção direta | Verdadeira | O shell sort generaliza o insertion sort, realizando inserção direta quando o incremento atinge 1. |
III – Bubble sort tem número pequeno de variáveis | Verdadeira | Utiliza apenas contadores (i, j), variável temporária para troca e, opcionalmente, uma flag. |
Sequência V, F, V. Erro: considera a afirmativa I como verdadeira, quando ela é falsa. A característica do quicksort em relação a pequenas entradas é mal compreendida.
Sequência F, V, V. Corresponde exatamente ao julgamento correto: I falsa, II verdadeira, III verdadeira.
Sequência V, F, F. Erro duplo: julga I como verdadeira (deveria ser falsa) e III como falsa (deveria ser verdadeira). O bubble sort realmente utiliza poucas variáveis, contrariando a leitura da alternativa.
Sequência F, F, V. Erro: afirma que II é falsa, mas o shell sort emprega a inserção direta de forma intensa, tornando a afirmativa verdadeira.
Sequência V, V, V. Erro: classifica I como verdadeira, quando na realidade é falsa. O quicksort não é a melhor escolha para ordenar um número pequeno de elementos.
A banca explora a crença comum de que o quicksort é sempre o melhor algoritmo. Na verdade, para conjuntos pequenos (tipicamente abaixo de 10–20 elementos), o insertion sort é mais rápido devido ao menor overhead. Fique atento: o quicksort se destaca para grandes volumes de dados.
Gabarito: letra B
Link permanente: /questoes/qq437977