1 / 10

Insertia Cheilor In Arbori B

Insertia Cheilor In Arbori B. Insertia unei chei noi intr-un arbore B se face intotdeauna intr-o pagina terminala Fie arborele B de ordinul 2 din figura: Fiind de ordinul 2, inseamna ca fiecare pagina trebuie sa contina intre 2 si 4 chei , cu exceptia eventual, a paginii radacina

mervin
Download Presentation

Insertia Cheilor In Arbori B

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Insertia Cheilor In Arbori B • Insertia unei chei noi intr-un arbore B se face intotdeauna intr-o pagina terminala • Fie arborele B de ordinul 2 din figura: • Fiind de ordinul 2, inseamna ca fiecare pagina trebuie sa contina intre 2 si 4 chei, cu exceptia eventual, a paginii radacina • Presupunem ca dorim sa inseram cheia 26 in acest arbore 8 19 32 - 10 12 14 17 22 28 31 - 37 39 42 46 2 3 5 - Insertia Cheilor In Arbori B

  2. Insertia Cheilor In Arbori B 26 • Trebuie sa ajungem la o pagina terminala • Plecand de la radacina, observam ca 26 se afla ca valoare intre 19 si 32, deci trebuie sa urmam sageata “dintre” 19 si 32 (cea ingrosata), care ne duce deja intr-o pagina terminala • Pagina terminala la care am ajuns contine 3 chei (22, 28 si 31), deci nu este plina (exista loc pentru 4 chei in orice pagina) • In acest caz, trebuie sa inseram cheia 26 in tabloul care contine deja cheile 22, 28 si 31 • Atentie!!! Dupa insertie, tabloul trebuie sa ramana ordonat, deci 26 va intra intre 22 si 28 Start 8 19 32 - 10 12 14 17 22 28 31 - 37 39 42 46 2 3 5 - Insertia Cheilor In Arbori B

  3. Insertia Cheilor In Arbori B • Rezultatul insertiei este: • Ce s-ar fi intamplat daca pagina terminala in care trebuia sa inseram cheia ar fi fost plina? • Aceasta situatie se numeste supradepasire • Presupunem ca dorim sa inseram cheia 16 in arborele de mai sus 8 19 32 - 10 12 14 17 22 26 28 31 37 39 42 46 2 3 5 - Insertia Cheilor In Arbori B

  4. Insertia Cheilor In Arbori B 16 • Pagina terminala in care ajungem este cea incercuita cu o elipsa • Insertia cheii 16 in aceasta pagina ar duce la: • Numarul de chei din pagina depaseste limita maxima de 4, data de ordinul arborelui B • Situatia se rezolva in felul urmator: • se ia cheia mediana din pagina (14) • se “trimite” cheia mediana (14) pe nivelul superior!!! • se imparte pagina in doua pagini mai mici: • una va contine cheile 10 si 12 • a doua va contine cheile 16 si 17 • cele 2 pagini noi se vor “lega” la stanga si la dreapta cheii mediane (14) Start 8 19 32 - 10 12 14 17 22 26 28 31 37 39 42 46 2 3 5 - 10 12 14 16 17 14 - - 10 12 - - 16 17 Insertia Cheilor In Arbori B

  5. Insertia Cheilor In Arbori B • Vom incerca insertia lui 14 in pagina superioara celei in care se afla, adica in pagina radacina • Cum aceasta nu este plina, insertia se poate face simplu 8 19 32 - 22 26 28 31 37 39 42 46 2 3 5 - 14 10 12 - - 16 17 - - 8 14 19 32 10 12 - - 16 17 - - 22 26 28 31 37 39 42 46 2 3 5 - Insertia Cheilor In Arbori B

  6. Insertia Cheilor In Arbori B • In general, situatia se prezinta in felul urmator: • O pagina care are supradepasire (2·N+1 chei) se imparte in 2 pagini cu numar minim de chei (N) iar cheia mediana din pagina cu supradepasire va fi inserata pe nivelul superior • Insertia cheii mediane pe nivelul superior poate sa genereze o alta supradepasire, daca pagina de pe nivelul superior este la randul sau plina • In acest caz, situatia se propaga un nivel mai sus si se rezolva recursiv pe noul nivel Se incearca insertia cheii M in pagina superioara N chei M N chei M N chei Pagina cu 2·N+1 chei (supradepasire!!!) N chei Insertia Cheilor In Arbori B

  7. Insertia Cheilor In Arbori B • Presupunem ca dorim sa inseram cheia 24 • Ea va fi inserata in pagina incercuita cu o elipsa • Apare supradepasire si cheia mediana (26) va fi trimisa spre insertie in pagina superioara • Dar aceasta este la randul sau plina 8 14 19 32 10 12 - - 16 17 - - 22 26 28 31 37 39 42 46 2 3 5 - 8 14 19 32 10 12 - - 16 17 - - 22 24 26 28 31 37 39 42 46 2 3 5 - Insertia Cheilor In Arbori B

  8. Insertia Cheilor In Arbori B 8 14 19 26 32 • Problema supradepasirii s-a mutat cu un nivel mai sus • Ea se rezolva recursiv, adica noua cheia mediana (19) va fi trimisa spre insertie in pagina superioara • Nemaiexistand o pagina superioara, insertia se opreste cu rezultatul: 10 12 - - 16 17 - - 22 24 - - 28 31 - - 37 39 42 46 2 3 5 - 19 - - - 8 14 - - 26 32 - - 10 12 - - 16 17 - - 22 24 - - 28 31 - - 37 39 42 46 2 3 5 - Insertia Cheilor In Arbori B

  9. Insertia Cheilor In Arbori B • Cand propagarea supradepasirii de jos in sus ajunge pana la radacina inclusiv, arborele B va creste in inaltime • Aceasta este singura situatie in care un arbore B poate sa creasca in inaltime • De asemenea, pe arborele B rezultat se poate observa de ce radacina trebuie sa fie exceptie de la regula referitoare la numarul de chei dintr-o pagina (radacina arborelui rezultat contine o singura cheie) Insertia Cheilor In Arbori B

  10. Insertia Cheilor In Arbori B • In continuare, se observa ca s-au creat nenumarate pozitii libere pentru viitoare insertii, deci inaltimea arborelui B creste relativ rar, in comparatie cu inaltimea unui arbore binar ordonat care ar fi continut aceleasi chei • Cresterea “inceata” in inaltime este un alt avantaj al unui arbore B, deoarece performantele operatiilor pe arborele B sunt cu atat mai bune cu cat inaltimea arborelui este mai mica (la fel ca la arbori binari) • Operatia de insertie de chei intr-un arbore B are o performanta logaritmica, deoarece se foloseste criteriul de ordonare a paginilor pentru a parcurge drumul de la radacina pana la ultimul nivel, dupa care, eventual, se parcurge si drumul invers pentru rezolvarea situatiilor de supradepasire – de regula, drumul invers nu este parcurs in totalitate ci doar pana nu mai apar situatii de supradepasire • Drumul de la radacina pana la ultimul nivel are o lungime proportionala cu logaritmul numarului total de chei din arbore Insertia Cheilor In Arbori B

More Related