MergeSort paralel

Page 12

Implementarea secventiala a algoritmului de sortare a arborelui Aceasta este o simulare a testarii in paralel, folosind in loc de comunicatia reala intre noduri, un apel al unei functii recursive. Astfel, implementarea devine un prototip al programului de sortare. Pe langa informatiile referitoare la inaltime si rang, modulul trebuie sa primeasca sirul de sortat si, cum limbajul folosit este C, este nevoie si de numarul elementelor din el. Daca inaltimea nodului este mai mare decat 0, se va calcula pozitia jumatatii drepte a sirului pentru a genera doua alte siruri care primesc limitele stanga si dreapta ale lor. Totusi, in loc sa se trimita subsirul din dreapta catre procesul fiu si sa se primeasca rezultatul, se va face doar un apel recursiv pentru acea jumatate, la fel ca si pentru cealalta jumatate din stanga. La intoarcerea din aceste doua apeluri se realizeaza interclasarea datelor. In cazul in care inaltimea nodului este 0 (nod frunza), se aplica direct sortarea asupra elementelor (functia qsort este o varianta rapida pentru aceasta). In slide-ul urmator este prezentata implementarea in C.


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.