Page 49 - MATINF Nr. 1
P. 49

Optimalitatea algoritmului de c˘autare binar˘a                                                 49



            Demonstrat¸ie. 1) Analiz˘am cazul cel mai defavorabil. Conform Observat , iei 7, num˘arul de
            comparat , ii de chei efectuate ˆın cazul cel mai defavorabil este egal cu ˆın˘alt , imea h a arborelui
            binar extins de c˘autare asociat T = T (A). Arborele T este un arbore binar strict, cu n noduri
            interne (s , i n + 1 noduri externe), deci conform Propozit , iei 4 rezult˘a c˘a h ≥ dlog (n + 1)e .
                                                                                              2
                2) Analiz˘am acum cazul mediu (cazul timpului mediu de execut , ie). Conform Observat , iei 7,
            num˘arul mediu de comparat , ii de chei are valoarea

                                          (1 + D(k)) +      D(k)    n +     D(k) +      D(k)
                                       P                P                P           P
                                       k∈I              k∈E              k∈I        k∈E
                           N med (n) =                            =                          ,
                                                 2n + 1                      2n + 1
            unde I este mult , imea nodurilor interne, E este mult , imea nodurilor externe, iar, pentru fiecare
            nod k, D(k) reprezint˘a distant , a de la r˘ad˘acina arborelui T = T (A) la nodul k. Conform
            Propozit , iilor 3 s , i 6 rezult˘a c˘a

                               2  P  D(k) − n      Ä                                  dlog (n+1)e  ä
                                                                2
                                 k∈E              2 (n + 1) dlog (n + 1)e + n + 1 − 2    2       − n
                    N med (n) =                ≥                                                     ,
                                    2n + 1                              2n + 1
            adic˘a inegalitatea din enunt , .

            Propozit , ia 7. Pentru algoritmul de c˘autare binar˘a ˆıntr-un vector sortat cu n componente, o
            c˘autare cu succes necesit˘a cel mult h comparat ,ii de chei, iar o c˘autare f˘ar˘a succes necesit˘a h − 1
            sau h comparat ,ii de chei, unde h = dlog (n + 1)e = blog nc + 1.
                                                     2
                                                                      2
            Demonstrat¸ie. Fie T (n) arbore binar de c˘autare asociat algoritmului de c˘autare binar˘a ˆın-
            tr-un vector sortat cu n componente. Conform descrierii algoritmului de c˘autare binar˘a
            s , i a construirii arborelui binar de c˘autare asociat, rezult˘a c˘a subarborele stˆang al lui T (n)
                                                                                      ö    ù
            corespunde c˘aut˘arii binare ˆın subvectorul (a 1 , . . . , a m−1 ), unde m =  n+1  , deci este chiar
                                                                                        2
               Äö   ùä
            T    n−1  , iar subarborele drept corespunde c˘aut˘arii binare ˆın subvectorul (a m+1 , . . . , a n ) de
                  2
                                     ö    ù    †    £                                   Ć    £ä
            lungime n − m = n −       n+1   =   n−1  , deci are aceeas , i structur˘a cu T  n−1  (doi arbori
                                        2        2                                          2
            binari au aceeas , i structur˘a dac˘a sunt identici, cu except , ia etichetelor, adic˘a prin suprapunerea
            r˘ad˘acinilor ei se suprapun perfect). Aplicˆand metoda induct , iei matematice, rezult˘a c˘a arborele
            binar T (n + 1) are aceeas , i structur˘a cu arborele binar T (n) plus un nod extern, situat pe
            ultimul nivel (la pasul inductiv se analizeaz˘a separat cazurile n par, respectiv impar s , i se aplic˘a
                                                                   † n−1  £  ö n−1  ù
            ipoteza de induct , ie pentru cei doi subarbori). Cum        =        pentru n impar, respectiv
                                                                     2        2
            †    £   ö    ù
              n−1  =  n−1  +1 pentru n par, rezult˘a c˘a subarborele drept al lui T (n), avˆand aceeas , i structur˘a
               2
                  Ć    2 £ä                                            Äö    ùä
            cu T    n−1  , are aceeas , i structur˘a cu subarborele stˆang T  n−1  plus un eventual nod extern
                     2                                                      2
            (cˆand n este par). Aplicˆand din nou metoda induct , iei matematice, rezult˘a c˘a ˆın arborele binar
            T (n) toate nodurile care nu au doi descendent , i (fii) sunt situate pe ultimul s , i, eventual, pe
            penultimul nivel (la pasul inductiv se foloses , te relat , ia de structur˘a ment , ionat˘a dintre cei doi
            subarbori s , i se aplic˘a ipoteza de induct , ie pentru subarborele drept).
                Rezult˘a c˘a arborele binar extins de c˘autare asociat T (n) are nodurile externe situate pe
            cel mult dou˘a nivele. Notˆand cu h ˆın˘alt , imea arborelui extins (adic˘a lungimea maxim˘a de la
            r˘ad˘acin˘a la un nod extern) s , i considerˆand c˘a r˘ad˘acina arborelui este reprezentat˘a pe nivelul 0,
            rezult˘a c˘a: arborele extins are h + 1 nivele, n noduri interne s , i n + 1 noduri externe; pe nivelele
            0, 1, . . . , h − 2 avem doar noduri interne, fiecare avˆand cˆate doi descendent , i; pe penultimul nivel,
            h − 1, putem avea s , i noduri externe, iar nodurile interne de pe acest nivel au de asemenea cˆate
            doi descendent , i; pe ultimul nivel, h, avem doar noduri externe.
   44   45   46   47   48   49   50   51   52   53   54