Sunteți pe pagina 1din 1

Bubble sort Sortarea prin metoda bulelor este unul din cei mai simpli algoritmi de sortare, eficient

pentru un numr mic de elemente (mai putin de 15), dar nu pentru tabele mari. Principiul de funcionare: se trece n mod repetat prin list, comparnd elemenetele dou cte dou. n cazul n care ele nu respect relaia de ordine sunt inversate i se trece mai departe. Iteraia se oprete cnd n urma unui ciclu complet nu s-au mai fcut inversri de elemente. Complexitatea timpului al algoritmului Bubble sort este O(N^2) Presupunnd elementele ntr-un array A de lungime n, descrierea algoritmului n pseudocod este urmtoarea: execut schimbat = fals pentru i de la 0 la n 2 dac A[i] > A[i+1] atunci interschimb(A[i], A[i+1]) schimbat = adevrat ct timp (schimbat = adevrat) Dezavantaj: este unul din cei mai leni algoritmi de sortare. Metoda poate fi imbuntit dac: dup fiecare trecere, se va reine ultima poziie din tablou n care a avut loc o interschimbare, iar trecerea urmtoare se va efectua doar pin la acea poziie. n cazul n care la o trecere nu a avut loc nici o interschimbare algoritmul se va incheia. Algoritmul in C++ (parametrizat) Void Bubblesort_para(Tip a[Nmax+1],int size) { int ok=0,i; do{ for( i=1;i<size;i++) if (a[i]>a[i+1]) {interschimba(a[i],a[i+1]);ok=1;} }while (ok==1); }