Questão de Algoritmos e Estrutura de Dados — Algoritmos — FAURGS 2018
- Código
- qq336684
- Banca
- FAURGS
- Órgão
- TJ-RS
- Ano
- 2018
- Nível
- Médio
- Cargo
- Programador
- A[2, 5, 4, 6, 1, 3]
- B[1, 2, 3, 4, 5, 6]
- C[2, 4, 5, 6, 1, 3]
- D[2, 4, 5, 1, 6, 3]
- E[1, 2, 4, 5, 6, 3]
GabaritoB — [1, 2, 3, 4, 5, 6]
Gabarito: letra B. O algoritmo dado é o insertion sort (ordenação por inserção). Após a execução completa do laço externo para j=2 até 6, o arranjo X fica ordenado em ordem crescente: [1, 2, 3, 4, 5, 6].
Entrada: X = [5, 2, 4, 6, 1, 3] (índices de 1 a 6).
j=2 (valor=2): 2 é menor que 5 → desloca 5 para a posição 2, insere 2 na posição 1. X = [2, 5, 4, 6, 1, 3].
j=3 (valor=4): 4 < 5 → desloca 5 para posição 3, 4 > 2 → para. X = [2, 4, 5, 6, 1, 3].
j=4 (valor=6): 6 > 5 → nenhum deslocamento. X permanece [2, 4, 5, 6, 1, 3].
j=5 (valor=1): 1 é menor que todos os anteriores → desloca 6,5,4,2 para a direita, insere 1 na posição 1. X = [1, 2, 4, 5, 6, 3].
j=6 (valor=3): 3 < 6,5,4 → desloca esses três, 3 > 2 → para. X = [1, 2, 3, 4, 5, 6].
[2, 5, 4, 6, 1, 3] é o estado após a primeira iteração (j=2). Não é o estado final.
[1, 2, 3, 4, 5, 6] é o resultado final do algoritmo.
[2, 4, 5, 6, 1, 3] corresponde ao estado após a terceira iteração (j=3 ou j=4, pois j=4 não altera). É intermediário.
[2, 4, 5, 1, 6, 3] não corresponde a nenhum estado intermediário válido do algoritmo. Nunca ocorre durante a execução (o 1 nunca fica entre 5 e 6 nesse ponto).
[1, 2, 4, 5, 6, 3] é o estado após a quarta iteração (j=5). É intermediário.
Conclusão: A única alternativa que apresenta o arranjo completamente ordenado, como deve ser ao término do insertion sort, é a letra B.
Ao simular algoritmos, execute passo a passo as iterações e anote o estado do vetor. Observe que o insertion sort mantém a parte esquerda sempre ordenada. As alternativas erradas são exatamente os estados intermediários, uma armadilha comum em provas.
Link permanente: /questoes/qq336684