Iformtiostkoloi Tom Smss uusti 6 Trästrukturr Dfiitior och trmioloi I list hr vrj o xkt ftrföljr (utom sist) och förår (utom först). Om vi tillåtr tt o hr flr ftrföljr rhållr vi trästruktur: c f h i j k l m E mr mtmtisk fiitio: Ett (rott) trä är mä or är: scill o klls rot och övri or ils i m isjukt lmär som i si tur är rot trä Trmioloi är hämt frå såväl sko som fmilj: E förälr hr tt llr flr r. Br m smm förälr förälr klls sysko. Sysko kommr i ålrsori m älst läst till västr. löv rot 0 000 00 00 0 0 00 00 0 00 0 00 0 sysko 0 0 höj
Ett iärt trä är mä or som ti är tom llr som står v tr lmär: m xkt o rot, lmä kll västr suträ och lmä kll hör suträ c f k y Osrvr skill mll tt iärt trä och tt ort trä m höst två r r o! Ortior å trä Trvrsri vs sök ll or Söki ftr visst oihåll llr viss ositio Ilä/utt v or Smmfoi v flr trä Mäti v höj, r, tl or, välär, ls... Här tr vi r u trvrsrir. Övri ortior iskutrs i koisxml och uiftr. Trvrsrir Att trvrsr struktur tyr tt sök ll or i åo viss ori. För trä fis t huvuskli fyr täkr orir: rori, iori, ostori och ivåori. (Oftst vär m ock lsk trmioloi för tr först: rorr, iorr och ostorr.) Prorr:. Bsök rot. Bsök rträ i rorr (m t älst först) c f k y På xmlträt lir ori: Postorr: c f k y. Bsök rträ i ostorr (m t älst först). Bsök rot På xmlträt lir ori: c f k y
Iorr. Bsök västr suträ i iorr. Bsök rot 3. Bsök hör suträ i iorr På xmlträt lir ori: c f k y Rrsttio v iär trä Träor örs vli som ojkt m rfrsr till ror: clss No { No lft; No riht;... } Biär sökträ Biär sökträ är vikti tillämi v iär trä. I tt såt trä hr vrj o yckl som uikt fiirr o. E yckl k t x vr tt rsoummr, tt fororsristrrisummr llr tt or. Tyiskt är lltså tt t it fis två llr flr or m smm yckl. Nycklr måst vir h orisrltio fiir vs m sk ku jämför ycklr i storlksori. Nyckl i o sk vr störr ä ll ycklr i os västrsuträ och mir ä ll ycklr i os hörsuträ: ycklr < k k ycklr > k Exml: Ett iärt sökträ m hltl i or: 3 8 7 36 7 3 4 För tt sök o m iv yckl utår m frå rot. Orisrltio k s ui söki r till ftrfrå o (llr till ull om o it fis). 3
För tt xmlvis hitt 3 kommr m å till hör vi, till västr vi 3 och 7 ftrsom 3 är störr ä m mir ä 3 och 7: 3 8 7 36 7 3 4 M ör å smm sätt vi ilä v y ycklr: örjr frå rot och låtr or styr åt vilkt håll m sk å. Dt fis llti xkt lts som y yckl sk i å. Fiur vis ilä v 4: 8 7 3 36 7 3 4 4 Slutsts: Artt tt såväl sök som lä i ycklr i tt iärt sökträ räss uåt v höj v trät. Eskr hos iär trä Ett iärt trä m k fyll ivår ihållr or är = + + 4 +... + k = k vs k = lo ( + ) lo Dtt är lltså mist möjli höj för tt iärt trä m or. I tt såt iärt sökträ ällr såls tt rtt för söki är O(lo ) ilä är O(lo ) urt är O(lo ) 4
Störst möjli höj rhålls om vrj o st hr r: root y I tt såt iärt sökträ ällr åtmisto i värst fll Söki är Θ() Ilä är Θ() c k Urt är Θ() f V ällr i omsitt? Ov hr vi iskutrt höj (och ärm rtt) i äst och värst fll. Itrsstr är ock v m k vät si i omsitt. Vi skull vilj vt t omsittli rtt tt sök (lä i, t ort) yckl i tt omsittlit trä. Följ tr mått väs för tt lysr hur r trä är för söki/ilä/urt: höj: för lys v värst fll itr välä: för lys v lyck söki (vs söki v lr yckl) xtr välä: för lys v misslyck söki (vs utäck tt yckl it fis lr) D itr välä (il llr i) k fiirs som summ v ll ors ivår Rot hr ivå, rots r ivå osv Exml: Vistå trä hr itr välä i = + + 4 3 + 4 4 = 33 Gomsittlit rt tt åtrfi lr yckl ( lyck söki ) är c f k y i = 33 = 3 M k vis (s tt särskilt okumt som ock är övrkurs) tt omsittli itr välä för ll trä som ils om m lär i ll! rmuttior v ycklr är.39 lo + O() Att åtrfi lr yckl tr lltså i omsitt.39 lo + O()ortior. Att sök i tt trä m 0 6 or krävr såls i storlksori ufär.39 lo (0 6 ) 0 osök. Motsvr söki i läk list skull 00000 osök. Äv ilä och urt
k örs m O(lo() ortior. Såls: Biär sökträ är r! Dt fis lsrismkismr som sr till tt trä it urrtr vs som rtrr O(lo ). Exml: AVL-trä (s särskilt okumt övrkurs) och rösvrt trä. Ar xml å trä Exml : Förälrträ: Ett trä som tr u rsos förfär är iärt m turlitvis it tt sökträ: Lrs Arvi Tom Ulf Rut Erik H ulic clss Prso { rivt Stri m; rivt Prso mothr; rivt Prso fthr; } A Fri Exml : Rrsttio v ritmtisk uttryck ( 3) + (4 + )/6 + * + / 6 Os: Trät rrstrr visr vlurisori. I rtsr hövs. 3 4 Värt räks om rkursivt:. Bräk värt v västrsuträt. Bräk värt v hörsuträt 3. Utför ortio å två räk vär 6
Exml 3: Brträ Ett släktträ som tr u rsos ättlir är är tt xml å tt ort trä. Tom Joh Jo Aim ulic clss Prso { Al rivt Stri m; rivt ArryList<Prso> chilr;... } Soj Brick Arvi Klr 7