7. Tasapainoitetut hakupuut

Samankaltaiset tiedostot
7. Tasapainoitetut hakupuut

7. Tasapainoitetut hakupuut

Binäärihaun vertailujärjestys

S uay uvaxy uv 2 Ax 2 y... uv i Ax i y uv i wx i y.

Σ on numeroituvasti ääretön. Todistus. Muodostetaan bijektio f : N Σ seuraavasti. Olkoon

4. Taajuusalueen suodatus 4.1. Taustaa Perusteita

Optioiden hinnoittelu binomihilassa

Käyttöarvon kvantitatiivisesta mittaamisesta. Tommi Höynälänmaa 19. marraskuuta 2012

Omakotitalon energiaratkaisu Pieni askel omavaraisuuteen.

Tasasähköyhteyden suuntaaj-asema. Ue j0ƒ. p,q

Tesomajärven koulusta Tesoman kouluksi

lähtokohta: kahden O(h) korkuisen keon yhdistäminen uudella juurella vie O(h) operaatiota vrt. RemoveMinElem() keossa

v 1 v 2 v 3 v 4 d lapsisolmua d 1 avainta lapsen v i alipuun avaimet k i 1 ja k i k 0 =, k d = Sisäsolmuissa vähint. yksi avain vähint.

havainnollistus, muokkaus ja viimeistely

Algoritmit 1. Luento 5 Ti Timo Männikkö

Rahoitusriskit ja johdannaiset Matti Estola. luento 10 Binomipuut ja optioiden hinnoittelu

Algoritmit 2. Luento 2 To Timo Männikkö

Tesomajärven koulusta Tesoman kouluksi

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

Yhteistyötä teatterista & Taiteesta tuotteeksi -hankkeet

Oppimisen haasteet ja mahdollisuudet terveysalan simulaatioissa

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta

x = x x 2 + 2y + 3 y = x + 2y f 2 (x, y) = 0. f 2 f 1

Hakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina

Algoritmit 2. Luento 2 Ke Timo Männikkö

corporate governance Tämä on lyhennetty versio Cinia-konsernin laajemmasta, sisäisestä ohjeistuksesta

Y56 laskuharjoitukset 5 - mallivastaukset

Algoritmit 2. Luento 7 Ti Timo Männikkö

Kun annettu differenssiyhtälö z-muunnetaan puolittain, saadaan: 1 1 z Y z zy z z/4 4

Algoritmit 2. Luento 3 Ti Timo Männikkö

Algoritmi on periaatteellisella tasolla seuraava:

58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut

A TIETORAKENTEET JA ALGORITMIT

Tällaisessa tapauksessa on usein luontevaa samaistaa (u,v)-taso (x,y)-tason kanssa, jolloin tason parametriesitys on *** VEKTORIANALYYSI.

TOIMEKSIANTOSOPIMUS. 1. Sopijapuolet. 2. Yhteyshenkilöt. 3. Sopimuksen tausta ja tavoitteet. Osoite: Kasurilantie 1, PL 5, 71801, Siilinjärvi

10. Optiohinnoittelu binomihilassa

Helsingin hengessä sopua ja sovittelua työyhteisön arkeen

TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen)

58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen)

NOPEUDESTA RIIPPUVIEN HITAUSVOIMATERMIEN VAIKUTUS PALKKILASKENTAAN

LBC 3210/00 Line Array -sisä-/ulkokaiutin

Algoritmit 2. Luento 3 Ti Timo Männikkö

Supervoimat käyttöön Supersankari-gallerian avulla VETÄJÄT NINA MAUNU JA TIINA HOSKARI JYVÄSKYLÄ OSAAVA VERME ELONKORJUU -SEMINAARI

Miten osoitetaan joukot samoiksi?

(kevät 2019) Markku Laitinen Uurainen Siv u 1

Seppo I. Niemelä: Mikrobiologian kvantatiivisten

2. Seuraavassa kuvassa on verkon solmujen topologinen järjestys: x t v q z u s y w r. Kuva 1: Tehtävän 2 solmut järjestettynä topologisesti.

Hoitoketjut sotealueella. Jukka Mattila Johtajaylilääkäri Lapin sairaanhoitopiiri

Pikalajittelu: valitaan ns. pivot-alkio esim. pivot = oikeanpuoleisin

4. Derivointi useammassa ulottuvuudessa

Biokasvu Oy. Maatalouden ja teollisuuden sivutuotteiden jatkojalostus ja uusiokäyttö kestävän kehityksen ehdoin

ELEMENTTIMENETELMÄN PERUSTEET SESSIO 08: Tasoristikon sauvaelementti, osa 1.

Röntgenhoitajan rooli säteilyaltistuksen oikeutuksessa

Algoritmit 2. Luento 13 Ti Timo Männikkö

= + + = 4. Derivointi useammassa ulottuvuudessa

Johdatus matematiikkaan

1780 N:o 567 LIITTEET 1 2 LASKUPERUSTEET TYÖNTEKIJÄN ELÄKELAIN MUKAISTA TOIMINTAA HARJOITTAVILLE ELÄKESÄÄTIÖILLE

Matematiikan peruskurssi 2

Johdantoa INTEGRAALILASKENTA, MAA9

Sarjat ja integraalit

Tietorakenteet ja algoritmit - syksy

S SÄHKÖTEKNIIKKA JA ELEKTRONIIKKA Aalto-yliopisto, sähkötekniikan korkeakoulu

Matematiikassa väitelauseet ovat usein muotoa: jos P on totta, niin Q on totta.

Identifiointiprosessi

4 Liikemäärä ja liikemäärän säilyminen

Algoritmit 2. Luento 5 Ti Timo Männikkö

Loppuraportti. Projektin nimi: Haukanmaa Masterplan Projektipäällikkö: Merja Galler

a ord 13 (a)

MIKROTEORIA, HARJOITUS 3 KYSYNTÄ YLI AJAN JA EPÄVARMUUDEN VALLITESSA, OSTAJANA JA MYYJÄNÄ, SEKÄ TYÖN TARJONTA

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Algoritmit 1. Luento 6 Ke Timo Männikkö

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

Päijät-Hämeen ja Mäntsälän museoiden työryhmän kokous MUSEOKIOSKI

811312A Tietorakenteet ja algoritmit II Perustietorakenteet

ELEMENTTIMENETELMÄN PERUSTEET SESSIO 13: Avaruuskehän palkkielementti.

Päijät-Hämeen ja Mäntsälän museoiden työryhmän kokous SOPENKORVEN KOKOELMAKESKUS

OULUN YLIOPISTO Konetekniikan osasto A Autojen ja työkoneiden rakennejärjestelmät I 5 op Mauri Haataja. 1. Pyöräajoneuvojen ominaisohjaus

Algoritmit 2. Luento 5 Ti Timo Männikkö

58131 Tietorakenteet (kevät 2009) Harjoitus 9, ratkaisuja (Antti Laaksonen)

useampi ns. avain (tai vertailuavain) esim. opiskelijaa kuvaavassa alkiossa vaikkapa opintopistemäärä tai opiskelijanumero

Induktiota käyttäen voidaan todistaa luonnollisia lukuja koskevia väitteitä, jotka ovat muotoa. väite P(n) on totta kaikille n = 0,1,2,...

Algoritmit 1. Luento 7 Ti Timo Männikkö

Algoritmit 2. Luento 6 Ke Timo Männikkö

Shakkilinna

58131 Tietorakenteet ja algoritmit (syksy 2015) Toinen välikoe, malliratkaisut

Energia bittiä kohden

Johdatus matematiikkaan

1. Esitä rekursiivinen määritelmä lukujonolle

z 1+i (a) f (z) = 3z 4 5z 3 + 2z (b) f (z) = z 4z + 1 f (z) = 12z 3 15z 2 + 2

Matematiikan ja tilastotieteen laitos Algebra I - Kesä 2009 Ratkaisuehdoituksia harjoituksiin 8 -Tehtävät sivua Heikki Koivupalo ja Rami Luisto

Kanta ja dimensio 1 / 23

Algoritmit 2. Luento 6 To Timo Männikkö

KEMI-TORNION AMMATTIKORKEAKOULU. Tutkimus laboratoriomittausten mittausepävarmuudesta kahdessa testausympäristössä

811120P Diskreetit rakenteet

Esim 1 Esim 2 ei käsitellä tällä kurssilla

1 Määrittelyjä ja aputuloksia

Algoritmit 1. Luento 8 Ke Timo Männikkö

Algoritmit 1. Luento 3 Ti Timo Männikkö

Maanjäristyksen kestävien kytkentäkotelotelineiden suunnittelu

Transkriptio:

7.1. Monitiehakpt 7. Tasapainoitett hakpt Tässä lssa jatketaan järjestetyn sanakirjan tarkastela esittämällä kehittynyt ptietorakenne. Lssa 7.1. esitetään monitiehakpn käsite. Se on järjestetty p, jonka jokaisessa sisäsolmssa oi olla seita tietoyksiköitä ja solmlla seita lapsia. Se on binäärihakpn (lk 6.3.) yleistys. Yksi sen hyödyistä on sisäsolmjen määrän äheneminen binäärihakphn errattna. Lssa 7.2. tarkastellaan yksityiskohtaisesti määrättyä monitiehakpta, (2,4)-pta, josta käytetään myös nimityksiä 2-4-p tai 2-3-4-p, koska sillä oi olla kahdesta neljään lasta. Kaikki sen lehdet oat samalla tasolla. Se on tehokas haka käsittäille operaatioille yltäen tällöin samaan kin AVL-p eli aikakompleksisteen O(log n). Näitä ielä kehittyneempiä ptyyppejä oat pna-mstat pt (red-black tree) ja iistopt (splay tree), joita ei tässä tarkastella. 7. lk 364 Tässä kataan, kinka monilapsisia monitiepita käytetään hakpina. Jälleen phn talletettaa tieto esitetään tietoyksikköinä, pareina (k,x), jossa k onaainjaxtähän liittyä alkio. Olkoon järjestetyn pn solm. Se on d-solm, jos sillä on d lasta. Monitiehakp (mlti-way search tree) on järjestetty p T, jolla on seraaat ominaisdet (ka 7.1.): Jokaisella pn T sisäsolmlla on ähintään kaksi lasta. Jokainen pn T sisäsolm sisältää kokoelman tietoyksiköitä motoa (k,x), jossa k onaainjaxalkio. Jokainen pn Td-solm, jonka lapset oat 1,, d, sisältää d-1 tietoyksikköä (k 1, x 1 ),,(k d-1, x d-1 ), missä k 1 k d-1. Määritellään lisäksi k 0 =- ja k d =+. Jokaiselle tietoyksikölle (k,x), joka on talletett solmn :n aliphn jreltaan i, i = 1,, d, on k i-1 k k i. 7. lk 36 10 22 2 Kn siis solmn ajatellaan talletetksi jokko aaimia mkaanlkien kitteelliset erikoisaaimet k 0 =- ja k d =+ (rajoittimia), niin aliphn T jreltaan i talletetn aaimen k täytyy olla solmn talletetn kahden aaimen älissä. Tällöin d-lapsen solmssa on talletettna d-1 arsinaista aainta, ja se modostaa samalla perstan han sorittamiseksi monitiepssa. 3 4 6 8 14 23 24 27 13 17 Ka 7.1. (alk) Monitiehakp T. Jälleen pn lehdet oat ainoastaan paikanpitäjiä. Täten binäärihakpta oidaan pitää monitiehakpn erikoistapaksena. Toisessa ääripäässä yhden sisäsolmn monitiehakp oi käsittää seita tietoyksiköitä. Sillä, että käsittääkö monitiehakpn sisäsolm kaksi ai seampia lapsia, on seraaa shde tietoyksiköiden määrän ja lehtisolmjen määrän älillä. Lase 7.1. Monitiehakplla, joka sisältää n tietoyksikköä, on n+1 lehteä. 7. lk 366 Persteln oi esittää harjoitstehtäänä. 7. lk 367

Hak monitiepssa Hak tapaht soraiiaisesti monitiepssa aaimella k. Lähdetään pollle pn jresta (ka 7.1.-). Oltaessa d-solmssa han aikana errataan aainta k aaimiin k 1,, k d-1, jotka on talletett solmn. Jos on k = k i jollekin i:lle, hak onnist. Mtoin jatketaan haka solmn lapsessa i, missä k i-1 < k < k i. (määriteltiin k 0 =- ja k d =+ ). Jos tllaan lehteen, tiedetään, ettei haettaaa aainta ole pssa eli hak epäonnist. 22 10 2 3 4 6 8 14 23 24 27 13 17 Monitiehakpiden tietorakenteita Lssa 4 esitettyjä yleisten piden esitystapoja oidaan soeltaa myös monitiehakpille. Lisätietona niissä pitää tallettaa khnkin solmn pelkästään tietoyksiköiden (tai aainten) jokko. Ka 7.1. (jatkoa) Aaimen (epäonnistnt hak) hakpolk pssa T. 7. lk 368 7. lk 369 10 22 2 Käytettäessä monitiehakpta T edstamaan sanakirjaa D khnkin sisäsolmn talletetaan iittas järjestettyyn tietoyksiköiden jokkoon. Solmn talletetta sanakirjaa ktstaan sekndääritietorakenteeksi. Tämä tkee laajempaa kokonaistta, pta, joka on tässä primääritietorakenne. 3 4 6 8 13 14 23 24 27 Ka 7.1. (lopp) Aaimen 24 (onnistnt hak) hakpolk pssa T. 17 7. lk 370 Solmn talletett sanakirja esitetään merkinnällä D(). Tähän talletetaan tietoyksiköt. Näiden persteella löydetään lapsisolm, johon siirrytään han seraaassa aiheessa. Pn T jokaisessa solmssa, jonka lapset oat 1,, d ja tietoyksiköt (k 1, x 1 ),,(k d-1, x d-1 ), oat talletettina tietoyksiköt (k 1, x 1, 1 ),(k 2,x 2, 2 ),,(k d-1, x d-1, d-1 ), (+, nll, d ). Sanakirjan D() tietoyksiköllä (k i, x i, i ) on aain k i ja alkio (x i, i ) (iimeisessä tietoyksikössä erikoisaain + ). Haettaessa aaimen k alkiota psta T d-solmn prosessointi oidaan tehdä sorittamalla hak tietoyksikön (k i, x i, i ) löytämiseksi sanakirjasta D() pienimmällä aaimella, joka on srempi tai yhtä sri kin k. On olemassa kaksi tapasta: 7. lk 371

Jos on k i-1 < k < k i, haka jatketaan käsittelemällä lasta i. (Jos palatetaan erikoisaain k d =+,kon silloin srempi kin kaikki aaimet, jotka on talletett solmn ja haka jatketaan käsitellen lasta d.) Mssa tapaksessa (k = k i ) hak päättyy onnistneena. Jos d max on akio, han soritsaika on O(h) riippmatta sekndääritietorakenteen totetksesta. Sen mkaisesti päätaoitteena on pitää pn korkes mahdollisimman matalana, ts. h tietoyksiköiden määrän n logaritmisena fnktiona. Tämä aikaansaa tasapainoitetn hakpn (balanced search tree), jota pohditaan seraaaksi. Monitiehakpn tilaaatims n tietoyksikölle on O(n) taallisten sanakirjatotetsten kera sekndääritietorakenteita arten pssa T. Soritsaika, joka on käytettää d-solmssa han aikana, riipp siitä, miten sekndääritietorakenne D() totetetaan. Jos se totetetaan talkkopohjaisena järjestettynä sekenssinä tai AVL-pna, on prosessoitaissa ajassa O(log d). Jos se sen sijaan totetetaan järjestämättömän sekenssin tai listapohjaisen järjestetyn sekenssin alla, solmn prosessointi kestää ajan O(d). Viitatkoon d max pn T minkä tahansa solmn lasten maksimimäärään. Olkoon h pn korkes. Näin ollen hakaika monitiehakpssa on joko O(hd max ) tai 7.2. (2,4)-p Tämä on monitiehakplaji, joka pitää solmihin talletett sekndääritietorakenteet kooltaan sppeina ja pn tasapainoitettna. Nämä taoitteet saatetaan ylläpitämällä ominaisdet (ka 7.2): Koko-ominaiss: Jokaisella sisäsolmlla on enintään neljä lasta ja ähintään kaksi. Syyysominaiss: Kaikki lehdet oat samalla syyydellä. O(h log d max ) riippen sekndääritietorakenteen 7. lk D() totetksesta. 372 7. lk 373 10 1 Solmjen koosta kiinnipitäminen tekee solmista monitiehassa yksinkertaisia. Siitä tlee myös aihtoehtoinen nimi, 2-3-4-p, koska jokaisella sisäsolmlla on joko 2, 3 tai 4 lasta. Lisäksi solmn sanakirja D() sisältää sekenssin, jossa kaikki operaatiot tehdään akioajassa O(1), sillä d max = 4. Korkesominaisdesta seraa raja plle: 3 4 6 7 8 13 14 17 Lase 7.2. (2,4)-pn korkes on (log n), kn tietoyksiköitä on n. Ka 7.2. (2,4)-p. Perstel: Olkoon h (2,4)-pn T korkes, kn tietoyksiköitä on n. Lase osoitetaan todeksi seraaien epäyhtälöjen alla: (log(n + 1))/2 h log(n + 1). (7.1) Koon ja syyyden nojalla lehtien lkmäärä pssa T on ähintään 2 h ja enintään 4 h. Laseen 7.1. persteella lehtien määrä pssa T on n + 1. 7. lk 374 7. lk 37

Täten saadaan 2 h n + 1 4 h. Ottamalla 2-kantainen logaritmi jokaisesta osasta saadaan h log(n + 1) 2h, josta tlee tämän laseen tlos (7.1). Lase 7.2. sanoo, että koko- ja syyysominaisdet riittäät pitämään monitiepn tasapainoitettna. Lisäksi se osoittaa han (2,4)-pssa toimian ajassa O(log n) ja ettei sekndäärirakenteen totets ole ratkaisea seikka (yksinkertaisin paras, talkko tai lista), koska lasten maksimimäärä on akio d max. 7. lk 376 Lisäys Uden tietoyksikön (k,x) lisäämiseksi (2,4)-phn T on alksi haettaa aain k. Olettaen, ettei pssa ole tätä aainta k, hak päättyy epäonnistneena lehteen z. Olkoon tämän anhempi. Usi tietoyksikkö lisätään solmn ja samoin si lapsi w (lehti) solmlle solmn z asemmalle polelle. Näin ollen lisätään (k,x,w) sanakirjaan D(). Kissa 7.3. ja 7.. esitetään sarja perättäisiä lisäyksiä (2,4)- phn. Tarkastellaan yksityiskohtaisesti aaimen lisäystä phn kassa 7.3(g), josta saadaan ka 7.3.(i). Lisäysmenetelmä säilyttää syyysominaisden, koska si lehti lisätään samalle tasolle kin olemassa oleat lehdet ja si aain alimmalle sisäsolmtasolle. Se saattaa silti ahingoittaa kokoominaistta. Jos solm on 4-solm ennen lisäystä, siitä tlisi -solm sen jälkeen, mikä ei ole sallitta. Tällöin esiintyy ylioto (oerflow), joka on ratkaistaa sopiasti pn säilyttämiseksi lajissa (2,4). 7. lk 377 4 4 6 4 6 4 6 1 w z (d) 3 4 6 1 3 4 6 1 (g) (h) 4 6 1 (e) 4 6 1 (f) 3 4 6 1 3 4 6 1 Ka 7.3. (alk) Lisäyksiä (2,4)-phn: Lähtötilanteen p, jossa on yksi tietoyksikkö, aaimen 6 lisäys, aaimen lisäys, (d) aaimen 1 lisäys, joka aihettaa yliodon, (e) jako, joka tottaa den jren ja (f) jaon jälkeen. 7. lk 378 (i) Ka 7.3 (jatkoa) (g) Aaimen 3 lisäys, (h) aaimen lisäys, joka aihettaa yliodon, (i) jako ja (j) jaon jälkeen. (j) 7. lk 379

Olkoot 1,, solmn lapset ja k 1,, k 4 solmn talletett aaimet. Yliodon korjaamiseksi solmsta jaetaan (split) -solm seraaasti (ka 7.4.): 3 4 6 10 (k) z 1 3 4 6 8 10 (l) 1 Solm korataan kahdella solmlla ja, missä on 3-solm lapsinaan 1, 2, 3 ja aaiminaan k 1 ja k 2. on 2-solm lapsinaan 4 ja ja aaimenaan k 4. Jos on pn T jri, lodaan si jri. Mtoin olkoon solmn anhempi. Ka 7.3. (lopp) (k) Aaimen 10 lisäys ja (l) aaimen 8 lisäys. Lisätään aain k 3 solmn ja asetetaan ja solmn lapsiksi niin, että jos oli i:s :n lapsi, niin ja tleat :n i:nneksi ja i+1:nneksi lapseksi. Jako-operaatio soritetaan selästi ajassa O(1). 7. lk 380 7. lk 381 h 1 h 2 1 = 2 3 k 1 k 2 k 3 k 4 1 2 3 4 Ka 7.4. (2,4)-pn solmn jako: ylioto -solmssa, :n kolmas aain lisätään :n anhempaan ja korataan 3-solmlla ja 2-solmlla. h 1 h 2 k 3 = 2 1 3 k 1 k 2 k 4 1 2 3 4 h 1 k 3 h 2 1 3 k 1 k 2 k 4 1 2 3 4 7. lk 382 Solmn jaon seraksena si ylioto oi esiintyä :n anhemmassa. Jos sellainen esiintyy, se sysää polestaan jaon solmn (ka 7..). Jako joko poistaa yliodon tai leittää sitä nykyisen solmn anhempaan. Näin jako-operaatioiden lkmäärää rajoittaa pn korkes, joka on laseen 7.2. mkaisesti O(log n). Lisäyksen sorittaminen (2,4)-phn aatii kaikkiaan aikaa O(log n). 10 3 4 6 8 13 14 1 Ka 7.. (alk) Lisäys (2,4)-phn aihettaen sarjan jakoja: Ennen lisäystä. 7. lk 383

10 10 1 3 4 6 8 13 14 1 17 3 4 6 8 13 14 17 10 1 10 1 3 4 6 8 13 14 17 3 4 6 8 13 14 17 10 1 (e) (f) 3 4 6 8 (d) 13 14 17 Ka 7.. (jatkoa) Aaimen 17 lisäys, joka aihettaa yliodon, jako ja (d) jaon aihettama si ylioto. Ka 7.. (lopp) (e) Toinen jako, joka tottaa den jrisolmn, sekä (f) lopllinen p. 7. lk 384 7. lk 38 Poisto Kn edellinen aihto on tehty, tietoyksikkö poistetaan solmsta sanakirjasta D() ja poistetaan myös :n i:s lehtilapsi. eli Nyt tarkastellaan tietoyksikön poistamista (2,4)-psta T. Ensiksi pitää lonnollisesti sorittaa hak aaimella k. Tietoyksikön poisto (2,4)- psta oidaan aina redsoida tapakseksi, jossa poistettaa tietoyksikkö sijaitsee alimmalla sisäsolmtasolla, ts. sen lapset oat lehtiä. Jos poistettaa tietoyksikkö (k i, x i ) sijaitsee tätä ylempänä pn solmssa z, siirretään alksi tietoyksikön (k i, x i ) sijaan sellainen, joka on talletettna solmssa ja tämän lapset oat lehtiä (ka 7.6.(d)): 1. Etsitään oikeanpolimmainen sisäsolm alipsta, jonka jri on solmn zi:s lapsi, kn solmn kaikki lapset oat lehtiä. Solmn aain on tällöin alipn i srin, ts. alhaaltapäin lähin poistetlle k i. 2. Siirretään solmn z tietoyksikön (k i,x i ) sijaan solmn iimeinen tietoyksikkö. 7. lk 386 Tietoyksikön ja lapsen poistaminen solmsta säilyttää syyysominaisden, mtta ei ältämättä koko-ominaistta. Jos on ennen poistoa 2-solm, siitä tlisi 1-solm, mikä ei ole sallitta (2,4)- pssa. Tällöin esiintyy alioto (nderflow). Aliodon korjaamiseksi tarkistetaan, onko solmn iereinen sisars 3-solm tai 4-solm. Jos tällainen iereinen sisars w on olemassa, soritetaan siirto (transfer), jossa siirretään solmn w lapsi solmn, w:n aain :n ja w:n anhempaan sekä :n aain solmn (ka 7.6.-). Jos solmlla on ainoastaan yksi ierekkäinen sisars, joka on 2-solm, tai molemmat ierekkäiset sirarkset oat 2-solmja, soritetaan slattaminen (fsion), jossa lomitetaan sisarksensa kanssa lomalla si solm ja siirretään aain solmn anhemmasta solmn (ka 7.6. (e)-(f)). 7. lk 387

4 10 1 6 8 13 14 17 10 1 6 w 8 13 14 17 6 10 1 8 13 14 17 6 1 10 8 13 14 17 Ka 7.6. Poistojen sarja (2,4)-psta: aaimen 4 poisto aihettaen aliodon, siirto ja siirron jälkeen. 6 10 1 w 8 13 14 17 7. lk 388 (d) Ka 7.6. (d) Aaimen poisto, (e) slattaminen ja (f) tämän jälkeen. (f) (e) 6 1 8 10 13 14 17 7. lk 389 6 1 6 1 13 8 10 14 17 8 10 14 17 (g) (h) Ka 7.6. (g) Aaimen 13 poisto ja (h) tämän jälkeen. Slattaminen solmssa saattaa aikaansaada den aliodon solmn anhemmassa, mikä polestaan tottaa siirron tai slattamisen solmssa (ka 7.7.). Tästä johten slattamisoperaatioiden määrää rajoittaa pn korkes, joka on laseen 7.2. mkaan O(log n). Jos alioto leiää jreen saakka, niin jri yksinkertaisesti poistetaan (ka 7.7. -(d)). Analyysi (2,4)-pna totetetn sanakirjan pääoperaatiot findelement, insertitem ja remoe oat kaikki lokkaa O(log n). Soritsajat tleat seraaista seikoista. (2,4)-pn korkes, kn pssa on n tietoyksikköä, on O(log n) laseen 7.1. mkaan. Jako, siirto ja slattaminen aatiat ajan O(1). Tietoyksikön hak, lisäys ja poisto käyät O(log n) solmssa. 7. lk 390 7. lk 391

6 6 1 6 6 8 10 1 17 14 8 10 17 1 8 10 17 8 10 1 17 (d) Ka 7.7. Slattamisten leiäminen (2,4)-pssa: aaimen 14 poisto, joka aihettaa aliodon, ja slattaminen. Ka 7.7. (lopp) Toinen slattaminen, joka aihettaa jren poistamisen, ja (d) lopllinen p. 7. lk 392 7. lk 393