Questão #11095712016

Algoritmos e Estrutura de Dados (TI)

O mergesort é um algoritmo de ordenação do tipo

dividir-para-conquistar. Sua ideia básica consiste

em dividir o problema em vários subproblemas, e

resolver esses subproblemas por meio da

recursividade e, em seguida,após todos os subproblemas

terem sido resolvidos,ocorre a conquista,

que é a união das resoluções dos subproblemas.O

algoritmo mergesort, apresentado em seguida, está

codificado em C/C++.Esse algoritmo ordena o vetor

1. voidmergesort(int a[], int p, int r) 2. { 3. inti,j,k,m; 4. if (r gt; p) 5. { 6. m = (r + p)/2; 7. … 8. … 9. for (i = m+1; igt; p; i--) b[i-1] = a[i-1]; 10. for (j = m; j lt; r; j++) b[r+m-j] = a[j+1]; 11. ... 12. ... 13. } 14. }