Page 41 - MATINF Nr. 3
P. 41

Complexitatea algoritmilor de sortare




            Costel B˘alc˘au   1




                ˆ
                In acest articol vom analiza complexitatea algoritmilor de sortare bazat , i pe comparat , ii de
            chei. Pentru aceasta vom utiliza rezultate de baz˘a din teoria algoritmilor privind ordinele de
            complexitate s , i arborii binari strict , i, prezentate ˆın [2], dar s , i dou˘a rezultate clasice din analiza
            matematic˘a - Teorema lui Lagrange s , i Criteriul cles , telui.

                Rezultatele ce vor fi obt , inute sunt esent , iale ˆın studiul eficient , ei s , i optimalit˘at , ii metodelor
            uzuale de sortare (prin select , ie, interschimbare, num˘arare, insert , ie, interclasare, Quicksort, etc.).


                Problema sort˘arii este urm˘atoarea: pentru un vector A = (a 1 , a 2 , . . . , a n ) dat, n ≥ 1, s˘a
            se ordoneze cresc˘ator (sau descresc˘ator) elementele acestui vector.

            Observat ,ia 1. Pentru evaluarea complexit˘at , ii algoritmilor care rezolv˘a problema sort˘arii, vom
            analiza numai comparat , iile ˆın care intervin elemente ale vectorului A, numite comparat ,ii de chei.
            De asemenea, consider˘am c˘a aceste comparat , ii se efectueaz˘a succesiv (comparat , iile simultane
            pot fi separate).

            Observat ,ia 2. Fie A un algoritm de sortare, bazat pe comparat , ii de chei, a unui vector
            A = (a 1 , a 2 , . . . , a n ), n ≥ 1. Presupunem c˘a algoritmul nu cont , ine instruct , iuni redundante s , i
            este aplicabil pentru orice pozit , ionare posibil˘a a componentelor vectorului A, adic˘a pentru orice
            permutare a acestora.

                Atunci algoritmului A i se poate asocia un arbore binar T (A) ˆın care fiecare nod are o
            etichet˘a de forma i?j, construit recursiv astfel: dac˘a prima comparat , ie efectuat˘a de algoritm
            este ˆıntre elementele a i s , i a j ale vectorului, atunci




                • r˘ad˘acina arborelui este etichetat˘a cu i?j;


                • subarborele stˆang corespunde continu˘arii algoritmului ˆın cazul a i ≤ a j , dac˘a acest caz este
                  posibil dup˘a prima comparat , ie (altfel este vid, adic˘a nu exist˘a descendent stˆang);



                • subarborele drept corespunde continu˘arii algoritmului ˆın cazul a i > a j , dac˘a acest caz este
                  posibil dup˘a prima comparat , ie (altfel este vid, adic˘a nu exist˘a descendent drept).


            Definit , ia 1. Arbore binar T (A) construit ˆın observat ,ia anterioar˘a se numes , te arborele de
            sortare sau arborele de decizie al algoritmului de sortare A.

               1
                Conf. univ. dr., Universitatea din Pites , ti, cbalcau@yahoo.com

                                                           41
   36   37   38   39   40   41   42   43   44   45   46