

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
O método de ordenação conhecido por merge sort é usualmente implementado de maneira recursiva e realiza o ordenamento basicamente separando o vetor de dados em análise em duas partes, até que haja a comparação de apenas dois elementos para se verificar se há a necessidade de troca da posição. Depois, também de maneira recursiva, esses elementos vão sendo novamente reagrupados até que o vetor seja retornado na ordem ascendente ou descendente, conforme o interesse, como esquematizado na figura a seguir.

Fonte: IFSP, 2022.
Considerando o trecho de código a seguir e o vetor B=[10, 9, 8, 7, 6, 5, 4, 3, 2, 1], é correto afirmar que, no print(A) da linha 7 com o ordenamento ascendente do vetor B, a resposta da sua saída será:
1 | defmergesort(A, aux,esquerda, direita): |
2 | if direita <= esquerda: |
3 | return |
4 | meio = (esquerda + direita) / |
5 | # Ordenaa primeira metade do arranjo. |
6 | mergesort(A, aux,esquerda, meio) |
7 | print(A) |
8 | # Ordenaa segunda metadedo arranjo. |
9 | mergesort(A, aux,meio + 1, direita) |
10 | # Combina as duas metades ordenadas anteriormente. |
11 | merge(A, aux,esquerda, meio, direita) |
[9, 10, 8, 7, 6, 5, 4, 3, 2, 1]
[10, 9, 8, 6, 7, 5, 4, 3, 2, 1]
[10, 9, 8, 7, 6, 4, 5, 3, 2, 1]
[10, 9, 8, 7, 6, 5, 4, 3, 1, 2]