A Secretaria de Saúde de determinado município desenvolveu um sistema para organizar a fila de pacientes em uma unidade de pronto atendimento. O sistema precisa ordenar os registros com base na prioridade de atendimento (alta, média ou baixa) e, dentro de cada nível de prioridade, ordenar os pacientes de acordo com a data e hora de chegada. Durante os testes do sistema, a equipe de TI implementou diferentes algoritmos de ordenação, analisando suas características e desempenho. Cada um desses algoritmos foi descrito pelos programadores da seguinte forma: • Implementação 1: o algoritmo percorre repetidamente a lista, comparando e trocando elementos adjacentes até que toda a lista esteja ordenada. • Implementação 2: a lista é dividida em duas metades recursivamente, e as metades ordenadas são combinadas para formar a lista final. • Implementação 3: o algoritmo constrói a lista ordenada elemento por elemento, inserindo cada novo item na posição correta. • Implementação 4: uma estrutura de heap é utilizada para armazenar os elementos, garantindo que o maior ou menor elemento seja extraído de forma eficiente. Com base nas descrições anteriores, assinale a alternativa que relaciona corretamente as implementações aos algoritmos de ordenação.
- A)Implementação 1 – Quick Sort Implementação 2 – Heap Sort Implementação 3 – Merge Sort Implementação 4 – Selection Sort
Errada, porque a Implementação 1 descreve Bubble Sort, a 2 descreve Merge Sort, a 3 descreve Insertion Sort e a 4 descreve Heap Sort.
- B)Implementação 1 – Bubble Sort Implementação 2 – Merge Sort Implementação 3 – Insertion Sort Implementação 4 – Heap Sort
Certa, pois cada descrição corresponde exatamente ao algoritmo indicado: Bubble, Merge, Insertion e Heap Sort.
- C)Implementação 1 – Selection Sort Implementação 2 – Heap Sort Implementação 3 – Bubble Sort Implementação 4 – Quick Sort
Errada, porque troca as características dos algoritmos e atribui nomes que não batem com as descrições do enunciado.
- D)Implementação 1 – Insertion Sort Implementação 2 – Selection Sort Implementação 3 – Quick Sort Implementação 4 – Merge Sort
Errada, pois Insertion Sort e Selection Sort foram invertidos, e as demais implementações também não correspondem às descrições dadas.
Gabarito: B
A questão cobra a identificação de algoritmos clássicos de ordenação a partir da forma como eles funcionam. Quando o enunciado fala em comparar e trocar elementos adjacentes repetidamente, isso é o famoso Bubble Sort, aquele que vai "empurrando" os maiores para o fim da lista aos poucos. Se a lista é dividida em duas metades, ordenada recursivamente e depois combinada, estamos diante do Merge Sort, que mistura as partes já ordenadas no final. Já o algoritmo que monta a lista ordenada elemento por elemento, colocando cada novo item no lugar certo, é o Insertion Sort. Ele lembra organizar cartas na mão: cada carta nova entra onde faz sentido. E a estrutura em heap, usada para extrair de forma eficiente o maior ou o menor elemento, caracteriza o Heap Sort. Por isso o gabarito B está correto: 1 = Bubble Sort, 2 = Merge Sort, 3 = Insertion Sort e 4 = Heap Sort. A lógica da banca aqui é puramente descritiva, então vale reconhecer o “jeito de trabalhar” de cada algoritmo, mais do que decorar nome bonito. Como referência doutrinária de algoritmos, esses são os algoritmos clássicos de ordenação ensinados em estruturas de dados, com diferenças importantes de desempenho: Bubble e Insertion tendem a ser mais simples, Merge usa recursão e mistura ordenada, e Heap depende da estrutura de heap para manter a eficiência nas extrações.