Innehåll. Föreläsning 7. Modeller/tillämpningar för träd. Organisation och terminologi (1) Organisation och terminologi (2)

Relevanta dokument
Datastrukturer och algoritmer. Modell/tillämpningar för träd. Innehåll. Organisation och terminologi (2) Organisation och terminologi (1)

Innehåll. Träd. Träd. Traversering av träd. Binära träd. Datastrukturer och algoritmer Datastrukturer. Algoritmer.

Innehåll. Träd Terminologi

Laboration 1a: En Trie-modul

Föreläsning 11: Grafer, isomorfi, konnektivitet

Mitt barn skulle aldrig klottra!...eller?

4.1 Förskjutning Töjning

Headset för det Mobila kontoret

Algoritmer och datastrukturer, föreläsning 11

Föreläsning 7. Splay-träd. Prioritetsköer och heapar. Union/Find TDDC70/91: DALG. Innehåll. Innehåll. 1 Splay-träd

Robin Ekman och Axel Torshage. Hjälpmedel: Miniräknare

Svar: a) i) Typ: linjär DE med konstanta koefficienter i homogena delen dy men också separabel ( y = 10 4y

Tentamen TMV210 Inledande Diskret Matematik, D1/DI2

247 Hemsjukvårdsinsats för boende i annan kommun

Sammanfattning av ALA-B 2007

Hittills på kursen: E = hf. Relativitetsteori. vx 2. Lorentztransformationen. Relativistiskt dopplerskift (Rödförskjutning då källa avlägsnar sig)

v v v v 5 v v v 4 (V,E ) (V,E)

INTRODUKTION. Akut? RING:

Räkneövning i Termodynamik och statistisk fysik

Vill veta kvaliteten hos våra vattenföringsdata?

spänner upp ett underrum U till R 4. Bestäm alla par av tal (r, s) för vilka vektorn (r 3, 1 r, 3, 22 3r + s) tillhör U. Bestäm även en bas i U.

F8: Logiska komponenter. Introduktion. Koder. Avkodare. Logiska komponenter

1 (3k 2)(3k + 1) k=1. 3k 2 + B 3k(A + B)+A 2B =1. A = B 3A =1. 3 (3k 2) 1. k=1 = 1. k=1. = (3k + 1) (n 1) 2 1

LINJÄRA DIFFERENTIALEKVATIONER AV FÖRSTA ORDNINGEN

Träd Hierarkiska strukturer

2. Bestäm en ON-bas i det linjära underrummet [1 + x, 1 x] till P 2 utrustat med skalärprodukten

Malmö stad, Gatukontoret, maj 2003 Trafiksäkra skolan är framtaget av Upab i Malmö på uppdrag av och i samarbete med Malmö stad, Gatukontoret.

Umeå Universitet Institutionen för fysik Daniel Eriksson/Leif Hassmyr. Bestämning av e/m e

Upplägg. Binära träd. Träd. Binära träd. Binära träd. Antal löv på ett träd. Binära träd (9) Binära sökträd (10.1)

Trädstrukturer. Definitioner och terminologi. Informationsteknologi Tom Smedsaas 21 augusti 2016

V Ä G E N T I L L V A T T E N w w w. a v a n t i s y s t e m. s e

Om i en differentialekvation saknas y, dvs om DE har formen F ( x, . Ekvationen z ) 0. Med andra ord får vi en ekvation av ordning (n 1).

Sektion LÅGFRIKTIONSPLAST Kedjeglidlister Glidlister Styrlister Band, Plattor, Rundstång Specialdetaljer

HOMOGENA LINJÄRA DIFFERENTIALEKVATIONER MED KONSTANTA KOEFFICIENTER

Revisionsrapport Hylte kommun. Granskning av samhällsbyggnadsnämndens och tillsynsnämndens styrning och ledning. Iréne Dahl, Ernst & Young

Programinformation Teknikcollege Allhamra. Kinda Lärcentrum Kontakt. Teknisk utbildning, för framtida anställning

Operativsystemets uppgifter. Föreläsning 6 Operativsystem. Skydd, allmänt. Operativsystem, historik

Föreläsning 4 Datastrukturer (DAT037)

SEPARABLA DIFFERENTIALEKVATIONER

Tillämpning - Ray Tracing och Bézier Ytor. TANA09 Föreläsning 3. Icke-Linjära Ekvationer. Ekvationslösning. Tillämpning.

TRAFIKUTREDNING SILBODALSKOLAN. Tillhör detaljplan för Silbodalskolan Årjängs kommun. Upprättad av WSP Samhällsbyggnad,

SPEL OM PENGAR FÖR - EN FRÅGA FÖR SKOLAN? VERKTYG, ÖVNINGAR OCH KUNSKAPSBANK FÖR ARBETE MED SPEL OM PENGAR I SKOLAN

Uppgiftssamling 5B1493, lektionerna 1 6. Lektion 1

Sidor i boken

Enkätsvar Sommarpraktik - Grundskola 2016

SF1625 Envariabelanalys

där a och b är koefficienter som är större än noll. Här betecknar i t

Elementær diskret matematikk, MA0301, våren 2011

Arbetsmarknad - marknadsformer. Förra gången. Svensk arbetsmarknad. Arbetsutbudets komponenter

OLYCKSUNDERSÖKNING. Teglad enplans villa med krypvind Startutrymme: Torrdestillation av takkonstruktion Insatsrapport nr:

TNA003 Analys I Lösningsskisser, d.v.s. ej nödvändigtvis fullständiga lösningar, till vissa uppgifter kap P4.

TENTAMEN I MATEMATIK MED MATEMATISK STATISTIK HF1004 TEN

Uppskatta lagerhållningssärkostnader

Innehåll. Om gasfjädrar 1. Modeller (1 dan = 1 kgf = 2.25 lbf) Cylinder. Initialkraft dan. diameter mm < 250 < < F INIT < < F INIT

Revisionsrapport Hylte kommun. Granskning av överförmyndarverksamheten

ICKE-HOMOGENA LINJÄRA DIFFERENTIALEKVATIONER MED KONSTANTA KOEFFICIENTER, ENKLA HÖGERLED

SF1625 Envariabelanalys

Kontrollskrivning Introduktionskurs i Matematik HF0009 Datum: 25 aug Uppgift 1. (1p) Förenkla följande uttryck så långt som möjligt:

DEMONSTRATION TRANSFORMATORN I. Magnetisering med elström Magnetfältet kring en spole Kraftverkan mellan spolar Bränna spik Jacobs stege

Inlämningsuppgift 2 i Digital signalbehandling ESS040, HT 2010 Måndagen den 22 november 2010 i E:B.

Anmärkning1. L Hospitals regel gäller även för ensidiga gränsvärden och dessutom om

Arkitekturell systemförvaltning

Innehåll. Föreläsning 12. Binärt sökträd. Binära sökträd. Flervägs sökträd. Balanserade binära sökträd. Sökträd Sökning. Sökning och Sökträd

Algoritmer och datastrukturer 2012, fo rela sning 8

F5: Vektorer (Appendix B) och Vektormodulation (Kap PE 2)

Vi kan barn. och förstår föräldrar

ICKE-HOMOGENA LINJÄRA DIFFERENTIALEKVATIONER MED KONSTANTA KOEFFICIENTER, ENKLA HÖGERLED

Föreläsning 1. Metall: joner + gas av klassiska elektroner =1/ ! E = J U = RI = A L R E = J = I/A. 1 2 mv2 th = 3 2 kt. Likafördelningslagen:

Ekosteg. En simulering om energi och klimat

MEDIA PRO. Introduktion BYGG DIN EGEN PC

Lösningar Datastrukturer TDA

Kostnad per brukare. Vård och omsorg om äldre och personer med funktionsnedsättning 2014

LINJÄR ALGEBRA II LEKTION 1

Tryckkärl (ej eldberörda) Unfired pressure vessels

Innovation GAT med guldkant

Listor = generaliserade strängar. Introduktion till programmering SMD180. Föreläsning 8: Listor. Fler listor. Listindexering.

Linjärt minne. Sammanhängande minne är ej flexibelt. Effektivt

ICEBREAKERS. Version 1.0 Layout: Kristin Rådesjö Per Wetterstrand

14. MINSTAKVADRATMETODEN

Regionmagasinet. Är det alltid bäst med piller? Här finns fler än ett skelett i garderoben. Valet till regionfullmäktige görs om 15 maj

Vid tentamen måste varje student legitimera sig (fotolegitimation). Om så inte sker kommer skrivningen inte att rättas.

Tillämpning av integraler

parkour Biotop Existerande Äldrebostäder volleyboll Biotop Vatten Våtområde Fotosyntes Sinnesupplevelser Odlingsbäddar Biotop parkour

Tentamen 1 i Matematik 1, HF sep 2017, kl. 9:00-13:00

Lösningar till ( ) = = sin x = VL. VSV. 1 (2p) Lös fullständigt ekvationen. arcsin( Lösning: x x. . (2p)

Föreläsning 9. Digital signalbehandling. Kapitel 6. Sampling. LTH 2014 Nedelko Grbic (mtrl. från Bengt Mandersson)

TSRT62 Modellbygge & Simulering

Föreläsning 7. Signalbehandling i multimedia - ETI265. Kapitel 5. LTI system Signaler genom linjära system

Tentamen 2008_03_10. Tentamen Del 1

Ett generellt träd är. Antingen det tomma trädet, eller en rekursiv struktur: rot /. \ /... \ t1... tn

Kommunrevisionen i Åstorp ÅSTORPS KOMMUN GRANSKNING AV SJUKFRÅNVARO. Bengt Sebring Februari 2004 Sida: 1 Ordförande GRANSKNINGSRAPPORT 4/2003

Våra värderingar visar vilka vi är resultat från omröstningen

TENTAMEN. HF1903 Matematik 1 TEN2 Skrivtid 13:15 17:15 Fredagen 10 januari 2014 Tentamen består av 3 sidor

x = x = x = x=3 x=5 x=6 42 = 10x x + 10 = 15 x = = 20 x = 65 x + 36 = 46

Aktivitet Beskrivning Ansvarig Startdatum Slutdatum 1. Adminstration. Bokföringsfirma. Vattenråd

A LT B A R Y TO N. enkelt

Datastrukturer, algoritmer och programkonstruktion (DVA104, HT 2014) Föreläsning 5

PASS 1. RÄKNEOPERATIONER MED DECIMALTAL OCH BRÅKTAL

Kontinuerliga fördelningar. b), dvs. b ). Om vi låter a b. 1 av 12

Knagge. Knaggarna tillverkas av 2,0 ± 0,13 mm galvaniserad stålplåt och har 5 mm hål för montering med ankarspik eller ankarskruv.

Transkript:

Innhåll Förläsning 7 Träd Modllr/tillämpningr för träd Orgnistion och trminologi Signturdigrm för ordnt träd Olik typr v träd Trädlgoritmr Implmnttion v träd 148 149 Modllr/tillämpningr för träd Modll: Ordnt träd: Ordrvägrn i tt rgmnt Binärt träd: Stmtvl/släktträd Tillämpningsxmpl inom dtvärldn: Filsystm Klsshirrkir i Jv/OOP Bsluts-/sök-/splträd inom AI Prologs xkvring Orgnistion och trminologi (1) Vrj träd hr minst n nod - rotn Om dt finns flr nodr så finns dt också grnr löv hr trädn också! 150 151 Orgnistion och trminologi (2) Orgnistion och trminologi (3) Elmntn i tt träd klls för nodr. En nod hr n position och v. tt värd. Värdt på n nod klls tiktt. All nodr på n nivå klls syskon. Ett träd hr tt ändligt ntl nodr och är n homogn dttyp. Föräldr-brn hirrki. Dlträd = n nod och dss vkomm. Nivå 1 Nivå 2 Nivå 3 Nivå 4 Ett träds nodr finns på olik nivår. Höjdn h(x) för nod x är ntlt bågr på dn längst grnn i dt träd där x är rot. Höjdn v tt träd T, h(t) = h(rotn) h() = 0, h(b) = 2 och h(c) = 3 = h(t) Djupt d(x) hos n nod x är ntlt bågr från x upp till rotn. d() = 3, d(b) = 1, d(c) = 0 nivå(x) = d(x) + 1 b c Nivå 1 Nivå 2 Nivå 3 Nivå 4 152 153

Signturdigrm för ordnt träd Signturdigrm för ordnt träd Nvigringsorintrd vs dlträdsorintrd spcifiktion v träd. Om mn rbtr md nstk träd som förändrs långsmt löv för löv så är nvigringsorintrd bättr. Hållr mn på md träd och dlträd som mn vill dl upp llr slå smmn är dlträdsorintrd bättr. 154 155 Olik typr v träd Ordnt träd (x militärhirrki) Syskonn är linjärt ordnd Oordnt träd (x filsystmt på n dtor) Ordningn blnd syskonn hr ingn btydls Urträd Mr bstrkt än d två förr. Hr n gn dttyp som hntrr syskonn. 156 Riktd träd Olik typr v träd Kn br gå i n riktning i trädt. I tt ndåtriktt träd skns Prnt. I tt uppåtriktt träd skns Childrn, måst gå tt nå något nnt än rotn, tx n oprtion som gr ll löv. Binär träd (tx stmtvl) Vrj nod hr högst två brn 157 Ordnd Bgrppspus - Om ordning Används för tt bskriv olik sätt tt ordn lmnt i tt objkt i n dttyp Riktd När dt finns n symmtri när dt gällr oprtionr för tt hitt från tt lmnt till tt nnt. Sortrd När lmntvärdn är sortrd nligt någon ordningsrltion Binär träd (1) En nod i tt binärt träd kn h högst två brn Brnn klls vänstr- och högrbrn. Dt ndr brnt kn komm för dt först Trädn ndn är OLIKA binär träd (mn smm ordnd träd md mx två brn ). 158 159

Mximl och miniml höjd Mximl höjd (n-1) för n=3, n nod på vrj nivå: Miniml höjd, mn kn int flytt om någr nodr och få n mindr höjd: Binär träd (2) För binär träd T md n nodr och höjd h gällr: h! n-1 (mximl höjdn) h " log 2 (n+1)-1 Antlt nodr på djup i är 2 i dvs 1, 2, 4, 8 Antlt nodr totlt i trädt: n! 2 (h+1) - 1 Ett träd hr miniml höjd om n > 2 h 1 vilkt gr log 2 (n+1)-1! h < log 2 (n+1) dvs h är v O(log 2 (n)) Miniml Ej miniml 160 161 Binär träd (3) Mn vill h så grund träd som möjligt Om vänstr och högr dlträd är ungfär lik stor hr trädt blns och vägn till n slumpvis vld nod är O(log 2 (n)) Kompltt binärt träd (Rätt br blns) Fyllr på trädt från vänstr till högr, n nivå i tgt. Fullt binärt träd (Oft dålig blns) Vrj nod är ntingn tt löv llr hr två brn. Algoritmr Bslgoritmr för träd Djup Höjd Slå ihop Dl upp Bräkn Trvrsr 162 163 Trvrsring v träd Tillämpningr v träd involvrr oft tt mn Sökr ftr tt lmnt md viss gnskpr Trnsformrr strukturn till n nnn struktur Exmplvis sortring och blnsring Filtrrr ut lmnt md viss gnskpr All dss byggr på tt mn trvrsrr strukturn. 164 Trvrsring v träd Brddn-först Mn undrsökr n nivå i tgt. Först rotn, sdn rotns brn, dss brnbrn osv. Kö oft hjälp vid implmnttionn. Vrj nod i trädt bsöks ndst n gång, dvs O(n). Sökr mn något som finns hittr mn dt. 165

Trvrsring v träd-brddn först Algoritm bfordr(tr T) input: A tr T to b trvrsd for ch lvl L of T do for ch nod of L do comput(nod) Ordningn:, b, c, d,, f, g, h, i, j Trvrsring v träd Djupt-först Mn följr vrj grn i trädt utifrån rotn till lövt Stck till hjälp för implmntringn Vrj nod bsöks ndst n gång, dvs O(n). Tr vrintr: Prordr Postordr Inordr 167 Trvrsring v träd - Prordr Algoritm prordr(tr T) input: A tr T to b trvrsd comput(root(t)) // Do somthing with nod for ch child w of root(t) do prordr(w) Prordr Läs tt dokumnt prordr(bintr T) comput(root(t)) prordr(lftchild(t)) prordr(rightchild(t)) Ordningn:, b, c, d, f, g,, h, i, j 169 Trvrsring v träd - Postordr Algoritm postordr(tr T) input: A tr T to b trvrsd for ch child w of root(t) do postordr(w) comput(root(t)) // Do somthing with nod postordr(bintr T) postordr(lftchild(t)) postordr(rightchild(t)) comput(root(t)) Algoritm vlutexprssion(tr t) If islf(t) rturn gtvlu(t) ls op # gtvlu(t) x # vlutexprssion(lftchild(t)) y # vlutexprssion(rightchild(t)) rturn x op y * / + Postordr Bräkn ritmtisk uttryck + 3-2 1 3 9 5 Ordningn: b, c, f, g, d, h, i, j,, 171

Trvrsring v träd Inordr Algoritm inordr(tr T) input: A tr T to b trvrsd nod # root(t) inordr(firstchild(t)) comput(nod) // Do somthing with nod for ch child w of nod (xcpt first) do inordr(w) inordr(bintr T) inordr(lftchild(t)) comput(root(t)) inordr(rightchild(t)) Algoritm printexprssion(tr t) print ( if hslftchild(t) thn printexprssion(lftchild(t)) print gtvlu(t) if hsrightchild(t) thn printexprssion(rightchild(t)) print ) * + 3-2 / + Inordr Skriv ritmtisk uttryck 3 1 9 5 Ordningn: b,, c, f, d, g, h,, i, j 173 Trädd binär träd Ndåtriktd binär träd hr ldig länkr. Utnyttj dss för tt trä gnvägr i trädt. Dt är vnligt tt skp inordrträdd träd. Dtt gör tt mn kn trvrsr md hjälp v itrtion iställt för rkursion. Sprr minn 174 Tillämpningr Konstruktionr v ndr typr (spcillt binär träd) Sökträd Vrj nod symbolisrr tt givt tillstånd. Brnn symbolisrr d olik tillstånd mn kn hmn i utifrån föräldrns tillstånd. Dt gällr tt hitt målnodn, dvs tt tillstånd som lösr problmt. Int rimligt tt bygg upp ll nodr (möjlig) tillstånd. Oft nvänds huristik 175 Tillämpningr Plnträd och OCH/ELLER-träd Nodrn symbolisrr hur mn brytr nd tt stort problm i mindr dlr och i vilkn ordning mn bör lös dss mindr dlproblm. Oft nvändr mn OCH/ELLER-träd där mn kn h OCH-kntr llr ELLER-kntr mlln föräldr och brn. OCH ll brn bhövs för lösningn ELLER något brn bhövs Implmnttionr v träd Oordnt uppåtriktt träd som fält Vrj lmnt i n vktor bstår v tt pr: nodns tiktt och n rfrns till föräldrn. + Tr litn plts - Ingt br stöd för trvrsring (t x svårt vt vilk nodr som är löv) - Mximl storlkn på trädt måst bstämms i förväg 176 177

Implmnttionr v träd Ordnt träd som n-länkd struktur Nodn i trädt bstår v n-cllr md tiktt, länk till föräldrn och n-1 länkr till brnn + Antlt nodr i trädt dynmiskt. - Mximl ntlt brn bstämt i förväg. - Om dt är stor vrition i ntlt brn så finns outnyttjd länkr. Implmnttionr v träd Ndåtriktt ordnt träd som 1-länkd struktur md list v brn Nodn i trädt bstår v 1-cllr md tiktt, n länk till n brnlist + Antlt nodr i trädt dynmiskt. + Antlt brn i nätt dynmiskt Utök till 2-cllr så blir trädt oriktt Nodn får n länk till föräldrn, tiktt smt länk till brnlist. 178 179 Implmnttionr v träd Implmnttionr v träd Nodr som hållr rd på föräldr, först brn och syskon. b c Uppåtriktt binärt träd md hjälp v 1-cll Ndåtriktt binärt träd md 2-cll Föräldr länk Vänstr -brn Etiktt Etiktt Högrbrn d f Oriktt binärt träd md 3-cll g 180 Föräldrlänk Vänstrbrn Etiktt Högr brn 181 Implmnttionr v träd Binärt träd som fält Rotn hr indx 1 och nodn md indx i hr sitt vänstrbrn i nodn md indx 2*i sitt högrbrn i nodn md indx 2*i +1 sin föräldr i nodn md indx floor(i/2) + Tr ingt utrymm för strukturinformtion - Trädt hr tt mxdjup (sttiskt fält) - Krävs mrkörr för null och tom nod - Ev. slösri md utrymm 182