Questão nº 41
Questão de Tecnologia da Informação · FGV TRF1 2024 (nº 41)
O analista Andrew foi contratado para solucionar um problema
utilizando o algoritmo de ordenação por seleção (selection sort).
Considerando a seguinte lista de números: [5, 3, 8, 4, 2, 7, 1, 10,
6, 9], ele deve detalhar cada passo do processo de ordenação
fornecendo as devidas explicações.
Após a terceira iteração do algoritmo de ordenação por seleção,
Andrew apresentou corretamente o resultado:
- A[1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
- B[1, 2, 3, 5, 4, 7, 8, 10, 6, 9];
- C[1, 2, 3, 4, 5, 8, 7, 10, 6, 9];
- D[1, 2, 3, 4, 5, 7, 8, 10, 6, 9]; (alternativa correta)
- E[1, 2, 3, 4, 5, 8, 7, 6, 9, 10].
Resposta comentada
Gabarito Alternativa D
O algoritmo de ordenação por seleção (Selection Sort) funciona encontrando repetidamente o menor elemento na parte não ordenada da lista e colocando-o na posição correta no início da parte não ordenada. A cada "iteração", um novo elemento é movido para sua posição final ordenada.
Lista inicial: [5, 3, 8, 4, 2, 7, 1, 10, 6, 9]
Detalhes das iterações para chegar à alternativa D:
-
Iteração 1 (para i=0):
- Procura o menor elemento na lista
[5, 3, 8, 4, 2, 7, 1, 10, 6, 9]. O menor é1(na posição 6). - Troca
5(posição 0) com1(posição 6). - Lista após a 1ª iteração:
[1, 3, 8, 4, 2, 7, 5, 10, 6, 9](O1está agora no lugar correto).
- Procura o menor elemento na lista
-
Iteração 2 (para i=1):
- Procura o menor elemento na parte não ordenada
[3, 8, 4, 2, 7, 5, 10, 6, 9](a partir da posição 1). O menor é2(na posição 4). - Troca
3(posição 1) com2(posição 4). - Lista após a 2ª iteração:
[1, 2, 8, 4, 3, 7, 5, 10, 6, 9](O2está agora no lugar correto).
- Procura o menor elemento na parte não ordenada
-
Iteração 3 (para i=2):
- Procura o menor elemento na parte não ordenada
[8, 4, 3, 7, 5, 10, 6, 9](a partir da posição 2). O menor é3(na posição 4). - Troca
8(posição 2) com3(posição 4). - Lista após a 3ª iteração:
[1, 2, 3, 4, 8, 7, 5, 10, 6, 9](O3está agora no lugar correto).
- Procura o menor elemento na parte não ordenada
-
Iteração 4 (para i=3):
- Procura o menor elemento na parte não ordenada
[4, 8, 7, 5, 10, 6, 9](a partir da posição 3). O menor é4(na posição 3). - Troca
4(posição 3) com4(posição 3). (Não há mudança visível, mas a operação conceitual ocorre). - Lista após a 4ª iteração:
[1, 2, 3, 4, 8, 7, 5, 10, 6, 9](O4está agora no lugar correto).
- Procura o menor elemento na parte não ordenada
-
Iteração 5 (para i=4):
- Procura o menor elemento na parte não ordenada
[8, 7, 5, 10, 6, 9](a partir da posição 4). O menor é5(na posição 6). - Troca
8(posição 4) com5(posição 6). - Lista após a 5ª iteração:
[1, 2, 3, 4, 5, 7, 8, 10, 6, 9](O5está agora no lugar correto).
- Procura o menor elemento na parte não ordenada
Apesar da questão pedir o resultado após a "terceira iteração", a alternativa correta fornecida (D) corresponde ao estado da lista após a quinta iteração do algoritmo Selection Sort, onde os cinco primeiros elementos (1, 2, 3, 4, 5) já foram corretamente posicionados. É importante estar atento a possíveis ambiguidades ou erros na numeração das iterações em questões de prova.
(A) Incorreta: Esta é a lista completamente ordenada, o que exigiria todas as 9 iterações do Selection Sort para uma lista de 10 elementos.
(B) Incorreta: Embora os três primeiros elementos (1, 2, 3) estejam corretos, a sequência dos elementos restantes (5, 4, 7, 8, 10, 6, 9) está incorreta para qualquer estágio do Selection Sort após a terceira iteração. Por exemplo, o 4 deveria estar na posição 3 (índice 3) se a iteração 4 tivesse ocorrido corretamente, ou 4 deveria ser o próximo a ser movido se estivéssemos na 4ª iteração. Esta alternativa pode ser um distrator para quem acerta as primeiras posições, mas erra a lógica de busca do mínimo ou a contagem das iterações.
(C) Incorreta: Esta alternativa mostra os cinco primeiros elementos corretamente ordenados (1, 2, 3, 4, 5), mas a sequência restante (8, 7, 10, 6, 9) não corresponde ao resultado da 5ª iteração do Selection Sort.
(D) Correta: Esta lista [1, 2, 3, 4, 5, 7, 8, 10, 6, 9] é o resultado exato após a quinta iteração do algoritmo Selection Sort, onde os cinco primeiros elementos foram corretamente colocados em suas posições finais.
(E) Incorreta: Esta alternativa também mostra os cinco primeiros elementos corretamente ordenados (1, 2, 3, 4, 5), mas a sequência restante (8, 7, 6, 9, 10) não corresponde ao resultado da 5ª iteração do Selection Sort.
Fonte: FGV TRF1 2024 Técnico Judiciário - Desenvolvimento de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.