Questão
ID 2129849Disciplina: Tecnologia da Informação
Assunto: Mergesort (Mescla)
Ano: 2022 Banca: IFSP - Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Órgão: Instituto Federal de Educação, Ciência e Tecnologia de São Paulo
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) // 2 |
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) |