FACIT TILL OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15 13:15

Relevanta dokument
FACIT TILL ORDINARIE TENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15 13:15

FACIT TILL OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15 13:15

General comment the exam was not well done at all. The usual faults were to blame

OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15-13:15

FACIT TILL OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15 13:15

OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 14:15 19:15

ORDINARIE TENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15 13:15

TENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 14:00-19:00

FACIT TILL OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 14:15 19:15

FACIT TILL OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15 13:15

OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15 13:15

ORDINARIE TENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15 13:15

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

OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 09:00 14:00

TENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15 13:15

Tillståndsmaskiner. Moore-automat. Mealy-automat. William Sandqvist

Algoritmer och datastrukturer, föreläsning 11

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

FACIT till ORDINARIE TENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15 13:15

Laboration 1a: En Trie-modul

Magnus Nielsen, IDA, Linköpings universitet

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

FACIT TILL TENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15 13:15

1. lösa differentialekvationer (DE) och system av DE med konstanta koefficienter

Nordic Light Roulett. Aluminiumpersienn. Nordic Light Roulett Installation - Manövrering - Rengöring. Aluminiumpersienn


Collections och annat nyttigt

4 Example exam questions

VATEK Multifix kopplingar för alla rörtyper

DAI2 (TIDAL) + I2 (TKIEK)

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

FACIT TILL TENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B03

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

Innehåll. Träd Terminologi

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

Snickerier. Räcken & Stolpar, Snickarglädje, Hyllplan, Trädgård, Stolpsystem. Trädetaljer och Produkter som håller stilen på ditt hus

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

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

Snickerier. Räcken & Stolpar, Snickarglädje, Ett företag inom Södra

24 Integraler av masstyp

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

som gör formeln (*) om vi flyttar första integralen till vänsterledet.

Module 1: Functions, Limits, Continuity

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

Lösningar Datastrukturer TDA

SF1625 Envariabelanalys

f(x)dx definieras som arean av ytan som begränsas av y = f(t), y = 0, t = a och t = b, se figur.

Prov i DAT 312: Algoritmer och datastrukturer för systemvetare

Making room for tomorrow

Tentamen MMG610 Diskret Matematik, GU

SF1625 Envariabelanalys

Finaltävling den 20 november 2010

VECKANS LILLA POSTKODVINST á kronor Inom nedanstående postkoder vinner följande 219 lottnummer kronor vardera:

Ulefos Multifi x Rörkopplingar för alla rörtyper

8 < x 1 + x 2 x 3 = 1, x 1 +2x 2 + x 4 = 0, x 1 +2x 3 + x 4 = 2. x 1 2x 12 1A är inverterbar, och bestäm i så fall dess invers.

TentamensKod:

Sfärisk trigonometri

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

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

Datastrukturer. föreläsning 8. Lecture 6 1

1. Find an equation for the line λ which is orthogonal to the plane

Byt till den tjocka linsen och bestäm dess brännvidd.

Vi önskar er ett trevligt Speedwaymöte i Norrköping denna helg

Grafer, traversering. Koffman & Wolfgang kapitel 10, avsnitt 4

Snickerier. Räcken & Stolpar, Snickarglädje, Ett företag inom Södra

H1009, Introduktionskurs i matematik Armin Halilovic. Definition. Mängden av alla lösningar till en ekvation kallas ekvationens lösningsmängd.

100318/Thomas Munther IDE-sektionen/Högskolan i Halmstad. Formelsamling Reglerteknik

Uppsala universitet Institutionen för lingvistik och filologi. Grundbegrepp: Noder (hörn) och bågar (kanter)

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

Preliminär version 2 juni 2014, reservation för fel. Tentamen i matematik. Kurs: MA152G Matematisk Analys MA123G Matematisk analys för ingenjörer

Monteringsanvisning. Bakåtvänd montering. Godkänd höjd cm. Maximal vikt 18 kg. UN regulation no. R129 i-size. Ålder 6 mån - 4 år. 1 a.

19 Integralkurvor, potentialer och kurvintegraler i R 2 och R 3

Skriftlig tentamen i Elektromagnetisk fältteori för π3 (ETEF01) och F3 (ETE055)

B1 Vatten strömmar i ett rör som är 100 m långt och har en diameter på 50 mm. Rörets ytråhet, e, är mm. Om tryckfallet i röret inte får

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

Föreläsning 7 Datastrukturer (DAT037)

Frami transportbult 2,5kN

INSTALLATION INSTRUCTIONS

Tentamen 1 i Matematik 1, HF dec 2016, kl. 8:00-12:00

x 2 2(x + 2), f(x) = by utilizing the guidance given by asymptotes and stationary points. γ : 8xy x 2 y 3 = 12 x + 3

Vila vid denna källa (epistel nr 82)

Arvika 2019_243 Stömne Bertil Persson Betongteknik AB DECIBEL - Huvudresultat Beräkning: VKV SWE99TM VKV typ Ljuddata

vara en T- periodisk funktion som är integrerbar på intervallet ges av formlerna

1. (6p) (a) Använd delmängdskonstruktionen för att tillverka en DFA ekvivalent med nedanstående NFA. (b) Är den resulterande DFA:n minimal? A a b.

Uppgiftssamling 5B1493, lektionerna 1 6. Lektion 1

14. MINSTAKVADRATMETODEN

Kapitel , 4102, 4103, 4104 Exempel som löses i boken. = = = = a) n a1 + a a a = = = = a a a

Teknisk manual STANDARD/GAS/EL. GATE Rehab Development AB

Tentamen i Databasteknik

TRAVERSE RIDGE CENTER II

ξ = reaktionsomsättning eller reaktionsmängd, enhet mol.

Matte C. Översikt. Funktioner. Derivatan. Användning av derivatan. Exponentialfunktionen. Logaritmiska funktioner. Geometriska summor

Oleopass Bypass-oljeavskiljare av betong för markförläggning

Sångerna är lämpliga att framföra vid bröllop, speciella fester och romantiska tillfällen för Kärlekens skull... GE 11176

StyleView Scanner Shelf

Föreläsning 5: Grafer Del 1

C100-LED Duschhörn med LED-Belysning

1. M öt et s öp pn an d e S ve n fö r k la r a r mö t et ö p p nat k lo c k a n i me d le ms k o nt o r et.

p Följ Kraft Där, Strå

Transkript:

Krlsts univrsitt DSA tntmn 150817 - Fcit Dtvtnskp FACIT TILL OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B03 150817 kl. 08:15 13:15 Ansvrig Lärr: Donl F. Ross Hjälpml: Ing. Algoritmrn inns i rspktiv uppgitrn llr i ilogrn. *** OBS *** Btygsgräns: Kurs: Mx 60p, M röm gokän 50p, Ick utn röm gokän 40p, Gokän 30p (vrv minimum p rån tntn, 10p rån lrn) Tnt: Mx 40p, M röm gokän 34p, Ick utn röm gokän 27p, Gokän p Lrn: Mx p, M röm gokän 18p, Ick utn röm gokän 14p, Gokän 10p SKRIV TYDLIGT LÄS UPPGIFTERNA NOGGRANT Ang ll ntgnn. DFR Dtstrukturr och lgoritmr, DAV B03, tntmn 150817 Fcit Sin 1 v 22

Krlsts univrsitt DSA tntmn 150817 - Fcit Dtvtnskp (1) G tt kortttt svr till öljn uppgitr (()-(j)). () V är ig-o ör Dijkstrs lgoritm? O(n 2 ) () V är ig-o ör Floys lgoritm? O(n 3 ) (c) V är ig-o ör lägg-till-oprtionn i hshning? O(1) () V gör Wrshlls lgoritm? Clcults th trnsitiv closur o grph. Dt trnsitiv höljn. () V gör n postorr trvrsring v tt inärt trä? Visits th nos in th orr LRN n mps th tr to squnc. () V är n gr? G = (V, E) whr G is st o nos n E st o gs (,) whr, r mmrs o V (g) V rprsntrr kntrn i n gr? A rltionship twn two nos. E.g. istnc, cost, is rchl rom. (h) V är tt Fr Tr? An unirct grph with n nos n (n-1) gs. (i) V hänr när mn läggr till n knt till i tt Fr Tr? A cycl is crt. (j) V är kvrtisk proning (qurtic proing)? In collision mngmnt in hshing, or ch collision i unction is in to clcult nw inx vlu or th ky. This cn stt s h(ky) + (i). In qurtic proing (i) = i 2 Totlt 5p DFR Dtstrukturr och lgoritmr, DAV B03, tntmn 150817 Fcit Sin 2 v 22

Krlsts univrsitt DSA tntmn 150817 - Fcit Dtvtnskp (2) G tt kortttt svr till öljn uppgitr (()-()). () Unr vilk örutsättningr skull SPT:t (Shortst Pth Tr) och MST:t (Miniml Spnning Tr) vr intisk när mn tillämpr Dijkstr-SPT och Prims lgoritmr på smm orikt gr? (i) (ii) All th gs in th grph hv th sm cost vlu Th nos r stor in th jcncy list in lphticl orr () Skriv rkursiv psuoko till n unktion ör tt hitt t mximl värt i tt vänstrrn i tt BST (Binärt SökTrä). sttic int in_mx(trr T) { rturn is_mpty(rc(t))? gt_vlu(t) : in_mx(rc(t)); (c) G n rkursiv inition v tt BT (Binärt Trä). BT ::= LC N RC mpty N ::= lmnt LC ::= BT RC ::= BT () Vilk gränsningr måst mn spciicr ör tt örvnl tt inärt trä (BT) till tt inärt sökträ (BST) och tt BST till tt AVL-trä? (i) BT BST: ll vlus in th lt chil must lss thn th vlu t th root n ll vlus in th right chil must grtr thn th vlu t th root. On o ths conitions my chng to inclu or qul to (ii) BST AVL-trä hight(lc(t)) hight(rc(t)) < 2 () Förklr v n ADT (strkt ttyp) är. (i) (ii) A st o vlus plus oprtions on thos vlus. Th ADT is implmnttion inpnnt. Totlt 5p DFR Dtstrukturr och lgoritmr, DAV B03, tntmn 150817 Fcit Sin 3 v 22

Krlsts univrsitt DSA tntmn 150817 - Fcit Dtvtnskp (3) Skvns () Ang n rkursiv inition v n skvns. (1p) S ::= H T H ::= lmnt T ::= S H = h, T = til, = mpty () Utirån in inition i () ovn, skriv rkursiv psuoko ör tt räkn ntlt lmnt i n skvns. Ang ll ntgnn. Ang tt xmpl ör tt vis hur in ko ungrr. (2p) int cr(squncr S) { rturn is_mpty(s) : 0? 1 + cr(til(s)); ============================================================== int cr(squncr S) { i ( is_mpty(s)) rturn 0 ls rturn 1 + cr(til(s)); (c) Utirån in inition i () ovn, skriv rkursiv psuoko ör tt lägg till tt lmnt i n skvns i stign (sortr) orning. Ant tt t rn inns n unktion som htr Cons som läggr till tt lmnt i huvut v skvnsn. Cons: lmnt x skvns skvns. Ang ll nr ntgnn. Ang tt xmpl ör tt vis hur in ko ungrr. (2p) sttic SquncR _vl(squncr S, VlTyp v) { i is_mpty(s) rturn crt_(v); i v < gtvl(h(s)) rturn cons(crt_(v), S); rturn cons(h(s), _vl(til(s),v)); Totlt 5 ============================================================== sttic SquncR _vl(squncr S, VlTyp v) { rturn is_mpty(s)? crt_(v) : v < gt_vlu(h(s))? cons(crt_(v), S) : cons(h(s), _vl(til(s),v)); DFR Dtstrukturr och lgoritmr, DAV B03, tntmn 150817 Fcit Sin 4 v 22

Krlsts univrsitt DSA tntmn 150817 - Fcit Dtvtnskp (4) Rkursion Skriv psuoko till två rkursiv unktionr (lltså n unktion plus n hjälpunktion) ör tt räkn rm ntlt kntr ( gs ) i n gr. Ang ll ntgn. 5p Assumptions: Structur: typ struct nolm * nor; typ struct nolm { chr nnm; int nino; nor gs; nor nos; nolm; + corrsponing gt/st unctions pr ttriut n h/til oprtions or oth th no list (nos) n th g list (gs). G is rrnc to th grph, th is_mpty(r) unction is in. sttic int _ngs(nor E) { rturn is_mpty(e)? 0 : 1 + _ngs(til(e)); sttic int _siz(nor G) { rturn is_mpty(g)? 0 : _ngs(gt_gs(nh(g))) + _siz(ntil(g)); DFR Dtstrukturr och lgoritmr, DAV B03, tntmn 150817 Fcit Sin 5 v 22

Krlsts univrsitt DSA tntmn 150817 - Fcit Dtvtnskp (5) Topologisk sortring Vi tt univrsitt hr viss kursr örkunskpskrv. I tvtnskp krävr kompiltorkonstruktion (DAV D02) progrmspråk (DAV C02) som örkunskp. Dtstrukturr och lgoritmr (DAV B03) är tt örkunskpskrv till progrmspråk, vncr progrmmring i C++ (DAV C05), smt projktrt i Jv (DAV C08). Dtstrukturr och lgoritmr krävr iskrt mtmtik (MAA B06) smt progrmutvcklingsmtoik (DAV A02). Oprtivsystm (DAV B01) krävr i sin tur progrmutvcklingsmtoik och torsystmtknik (DAV A14) och är örkunskpskrv till C och UNIX (DAV C18), tillämp tsäkrht (DAV C17) smt rltissystm (DAV C01). Ojktorintr signmtor (DAV D11) krävr ägg vncr progrmmring i C++ och sotwr nginring (DAV C19). Hur kn mn vis tt kompiltorkonstruktion och ojktorintr signmtor krävr iskrt mtmtik? I vilkn orning sk n stunt som vill läs på D-nivå t ll ovnnämn kursrn? Mton som kn nväns ör tt komm rm till n lösning htr topologisk sortring. En vrint v topologisk sortring är öljn lgoritm: Topologicl Sort tsort(v) -- prints rvrs topologicl orr o DAG rom v { mrk v visit or ch w jcnt to v i w unvisit tsort(w) isply(v) Vilkn är n nr vrintn? Tillämp å vrintr i in lösning till prolmt ovn. Vilk gränsningr måst mn t hänsyn till? DAG. 5p DFR Dtstrukturr och lgoritmr, DAV B03, tntmn 150817 Fcit Sin 6 v 22

Krlsts univrsitt DSA tntmn 150817 - Fcit Dtvtnskp Stp 1: Drw th grph MB06 B01 C01 C02 D02 A02 B03 C05 C08 C17 D11 C18 A14 C19 Stp 2: Construct th jcncy mtrix MB06 A02 A14 B01 B03 C01 C02 C05 C08 C17 C18 C19 D02 D11 MB06 1 A02 1 1 A14 1 B01 1 1 1 B03 1 1 1 C01 C02 1 C05 1 C08 C17 C18 1 C19 D02 D11 Stp 3: Apply Wrshll s y inspction (you o not n to show vry stp) DFR Dtstrukturr och lgoritmr, DAV B03, tntmn 150817 Fcit Sin 7 v 22

Krlsts univrsitt DSA tntmn 150817 - Fcit Dtvtnskp MB06 A02 A14 B01 B03 C01 C02 C05 C08 C17 C18 C19 D02 D11 MB06 1 1 1 1 1 1 A02 1 1 1 1 1 1 1 1 1 1 A14 1 1 1 1 B01 1 1 1 B03 1 1 1 1 1 C01 C02 1 C05 1 C08 C17 C18 C19 1 D02 D11 To show tht OODM (D11) rquirs Discrt Mthmtics (MB06) look t th row MB06 in th trnsitiv closur to in tht D11 is rchl rom MB06 i.. thr is pth rom MB06 to D11. Not lso tht th igonl shows tht thr r no cycls in th grph. Hnc th grph is DAG. DFR Dtstrukturr och lgoritmr, DAV B03, tntmn 150817 Fcit Sin 8 v 22

Krlsts univrsitt DSA tntmn 150817 - Fcit Dtvtnskp Cours orr mtho 1: Us th in-gr or ch no. Construct list with th in-gr. ((MB06, 0), (A02, 0), (A14, 0), (B01, 2), (B03, 2), (C01, 1), (C02, 1), (C05, 1), (C08, 1), (C17, 1), (C18, 1), (C19, 0), (D02, 1), (D11, 2)) Rmov th nos with in-gr 0 n thir gs n rjust th list. A ths nos to th output list. Output: (MB06, A02, A14, C19) ((B01, 0), (B03, 0), (C01, 1), (C02, 1), (C05, 1), (C08, 1), (C17, 1), (C18, 1), (D02, 1), (D11, 1)) Rpt th procss until th gr list is mpty. Output: (MB06, A02, A14, C19, B01, B03) ((C01, 0), (C02, 0), (C05, 0), (C08, 0), (C17, 0), (C18, 0), (D02, 1), (D11, 1)) Output: (MB06, A02, A14, C19, B01, B03, C01, C02, C05, C08, C17, C18) ((D02, 0), (D11, 0)) Output: (MB06, A02, A14, C19, B01, B03, C01, C02, C05, C08, C17, C18, D02, D11) ( ) gr list is mpty inish. Cours orr mtho 2: prorm pth-irst srch on th grph Construct th jcncy list: MB06: B03 A02: B01, B03 A14: B01 B01: C01, C17, C18 B03: C02, C05, C08 C01: C02: D02 C05: D11 C08: C17: C18: C19: D11 D02: D11: DFR Dtstrukturr och lgoritmr, DAV B03, tntmn 150817 Fcit Sin 9 v 22

Krlsts univrsitt DSA tntmn 150817 - Fcit Dtvtnskp Prorm topologicl sort: Strt with no MB06: MB06 B03 C02 D02 Stop output D02 Stop output C02 C05 D11 Stop output D11 Stop output C05 C08 Stop output C08 Stop output B03 Stop output MB06 A02 B01 C01 Stop output C01 C17 Stop output C17 C18 Stop output C17 Stop output B01 Stop output A02 A14 Stop output A14 C19 Stop output C19 D02 D02, C02 D02, C02, D11 D02, C02, D11, C05 D02, C02, D11, C05, C08 D02, C02, D11, C05, C08, B03 D02, C02, D11, C05, C08, B03, MB06 D02, C02, D11, C05, C08, B03, MB06, C01 D02, C02, D11, C05, C08, B03, MB06, C01, C17 D02, C02, D11, C05, C08, B03, MB06, C01, C17, C18 D02, C02, D11, C05, C08, B03, MB06, C01, C17, C18, B01 D02, C02, D11, C05, C08, B03, MB06, C01, C17, C18, B01, A02 D02, C02, D11, C05, C08, B03, MB06, C01, C17, C18, B01, A02, A14 D02,C02, D11,C05,C08, B03, MB06,C01,C17,C18, B01, A02,A14,C19 Now rvrs th list C19, A14, A02, B01, C18, C17, C01, MB06, B03, C08, C05, D11, C02, D02 Th rstriction is tht th grph must DAG in orr to prorm topologicl sort. This ws shown ov using Wrshll s. DFR Dtstrukturr och lgoritmr, DAV B03, tntmn 150817 Fcit Sin 10 v 22

Krlsts univrsitt DSA tntmn 150817 - Fcit Dtvtnskp (6) AVL-Trä Vis hur Du skull t rm 4 rottionsunktionrn rån örst principr. 2p An AVL-tr is BST (Binry Srch Tr) whr th lnc irnc (lnc ctor) twn th hight o th lt chil n th hight o th right chil my t most 1. i.. hight(lc) hight(rc) <= 1 Th rottion unctions r o SLR (Singl Lt Rottion) o SRR (Singl Right Rottion) o DLR (Doul Lt Rottion) or Right-Lt Rottion o DRR (Doul Right Rottion) or Lt-Right Rottion o Th rottion unctions my riv using w simpl xmpls. () () (c) 10 10 10 12 12 12 14 11 14 11 () n () rquir SLR to rlnc whil (c) rquirs DLR (right-lt rottion) to giv 12 12 10 11 10 14 10 14 11 10 12 11 12 An th co coms (SRR n DRR r mirror imgs o SLR n DLR rspctivly) sttic trr SLR(trr T) { trr RT = RC(T); st_rc(t, LC(RT)); st_lc(rt, T); rturn RT; sttic trr SRR(trr T) { trr RT = LC(T); st_lc(t, RC(RT)); st_rc(rt, T); rturn RT; sttic trr DLR(trr T) { st_rc(t, SRR(RC(T))); rturn SLR(T); sttic trr DRR(trr T) { st_lc(t, SLR(LC(T))); rturn SRR(T); DFR Dtstrukturr och lgoritmr, DAV B03, tntmn 150817 Fcit Sin 11 v 22

Krlsts univrsitt DSA tntmn 150817 - Fcit Dtvtnskp This is nothr wy o writing wht ws in th nots Trr RottLt(n2) n1 = n2.right n2.right = n1.lt n1.lt = n2 rturn n1 n RottLt Trr RottRight(n2) n1 = n2.lt n2.lt = n1.right n1.right = n2 rturn n1 n RottRight Is implmnt s (using th st n gt unctions) /* RottLt */ /* n2 = T n n1 = RT */ sttic trr SLR(trr T) { trr RT = RC(T); st_rc(t, LC(RT)); st_lc(rt, T); rturn RT; /* RottRight */ sttic trr SRR(trr T) { trr RT = LC(T); st_lc(t, RC(RT)); st_rc(rt, T); rturn RT; Förklr v lnsktorn (lnc ctor) är och nvän nn ör tt t rm lnsunktionn rån örst principr. Skriv lnsunktionn i psuoko. Din th lnc ctor Whr th hight(t) is in s An npty tr hs hight 0 = hight(lc(t) hight(rc(t)) 1 + mx (hight(lc(t)), hight(rc(t))) Now you cn ci which su-tr is th highst. This cis whthr th rottion is lt or right. Thn look t tht su-tr to ci i th imlnc is on th insi ( oul rottion) or outsi ( singl rottion). Thn you r rquir to writ psuo-co to r-lnc th tr NB this prt o th qustion. Th nswr is NOT suppli hr. This is th point o th qustion! DFR Dtstrukturr och lgoritmr, DAV B03, tntmn 150817 Fcit Sin 12 v 22

Krlsts univrsitt DSA omtntmn 150817 - cit Dtvtnskp Tillämp Din psuoko på trät nn 50 = 2; hight = 4 3p R-lnc hr! 38 = -1; hight = 3 55 = 0; hight = 1 =0; hight = 1 30 40 = -1; hight = 2 45 = 0; hight = 1 From th igrm, th lt chil is clrly highr thn th right chil how o you show this? Th right chil o th lt chil is highr tht th lt chil o th lt chil inicting possil ition o 45 i.. to th INSIDE o th lt chil o 50 hnc DRR is rquir. How o you show this using th lnc ctor? NB lt 60 rom th ov tr + 60 woul giv th sm rquirmnt. DRR = SLR (38) thn SRR(50) to giv 50 = 2; hight = 4 40 = 1; hight = 3 55 = 0; hight = 1 = 1; hight = 2 38 45 = 0; hight = 1 30 = 0; hight = 1 40 = 0; hight = 3 = 1; hight = 2 38 50 = 0; hight = 2 = 0; hight = 1 30 = 0; hight = 1 45 55 = 0; hight = 1 sttic trr DRR(trr T) { st_lc(t, SLR(LC(T))); rturn SRR(T); sttic trr SLR(trr T) { trr RT = RC(T); st_rc(t, LC(RT)); st_lc(rt, T); rturn RT; sttic trr SRR(trr T) { trr RT = LC(T); st_lc(t, RC(RT)); st_rc(rt, T); rturn RT; SLR(T=38) RT = 40; RC(38) = LC(40) (null); LC(40) = 38; rturn 40; SRR(T=50) RT = 40; LC(50) = 45; RC(40) = 50; rturn 40; DFR Dtstrukturr och lgoritmr, DAV B03, omtntmn 150817 - cit Sin 13 v 22

Krlsts univrsitt DSA omtntmn 150817 - cit Dtvtnskp (7) Prims lgoritm Tillämp n givn Prims lgoritm nn på n orikt grn, (--, --c, -34-, -22-c, --, c-28-, c-30-, c-38-, -26-, --). 1. Börj m no 2. Vis vrj stg i räkningrn 3. Ang *ll* ntgnn och vis *ll* räkningr och mllnrsultt! (3p) Prim ( no v) -- v is th strt no { U = {v; or i in (V-U) { low-cost[i] = C[v,i]; closst[i] = v; whil (!is_mpty (V-U) ) { i = irst(v-u); min = low-cost[i]; k = i; or j in (V-U-k) i (low-cost[j] < min) {min = low-cost[j]; k = j; isply(k, closst[k]); U = U + k or j in (V-U) i ( C[k,j] < low-cost[j] ) ) {low-cost[j] = C[k,j]; closst[j] = k; Totlt 5p DFR Dtstrukturr och lgoritmr, DAV B03, omtntmn 150817 - cit Sin 14 v 22

Krlsts univrsitt DSA omtntmn 150817 - cit Dtvtnskp Th principl is tht th MST grows rom th on componnt (hr ) y conncting this componnt to ny othr componnt ( no) y th shortst g n thn this componnt grows to orm th MST this lst proviso rvls tht Prim s is GREEDY lgorithm i.. us locl st solution. S low or th clcultions. Drw th grph (n possily sktch th nswr us Kruskl s or quick chck!): Cost 1 34 22 c 28 30 38 26 22 28 c 26 DFR Dtstrukturr och lgoritmr, DAV B03, omtntmn 150817 - cit Sin 15 v 22

Krlsts univrsitt DSA omtntmn 150817 - cit Dtvtnskp Drw th cost mtrix C n rry D c 34 22 c 22 28 30 38 34 28 26 30 38 26 c lowcost 34 closst Ming: lowcost: 34 closst: U = {, V-U = {c,,, min = ; k = Rjust costs: i C[k,j] < lowcost[j] thn { lowcost[j] = C[k,j]; closst[j] = k j = c; i C[,c] < lowcost[c] thn { lowcost[c] = C[,c]; closst[] = 22< c-22- j = ; i C[,] < lowcost[] thn { lowcost[] = C[,]; closst[] = <34 no chng j = ; i C[,] < lowcost[] thn { lowcost[] = C[,]; closst[] = < -- j = ; i C[,] < lowcost[] thn { lowcost[] = C[,]; closst[] = < no chng Ming: lowcost: 22 34 closst: U = {,,c V-U = {,, min = 22; k = c Rjust costs: i C[k,j] < lowcost[j] thn { lowcost[j] = C[k,j]; closst[j] = k j = ; i C[c,] < lowcost[] thn { lowcost[] = C[c,]; closst[] = c 28<34 c-28- j = ; i C[c,] < lowcost[] thn { lowcost[] = C[c,]; closst[] = c 30< no chng j = ; i C[c,] < lowcost[] thn { lowcost[] = C[c,]; closst[] = c 38< c-38- Ming: lowcost: 22 28 38 closst: c c U = {,,c, V-U = {, min = ; k = j = ; i C[,] < lowcost[] thn { lowcost[] = C[,]; closst[] = <28 no chng j = ; i C[,] < lowcost[] thn { lowcost[] = C[,]; closst[] = <38 -- Ming: lowcost: 22 28 closst: c U = {,,c,, V-U = { min = 28; k = j = ; i C[,] < lowcost[] thn { lowcost[] = C[,]; closst[] = 26< -26- Min g: lowcost: 22 28 26 --- closst: c --- U = {,c,,, V-U = { QED MST gs --, -22-c, --, c-28-, -26- Totl cost = 1 (Conirm using Kruskl s) DFR Dtstrukturr och lgoritmr, DAV B03, omtntmn 150817 - cit Sin 16 v 22

Krlsts univrsitt DSA omtntmn 150817 - cit Dtvtnskp Förklr hur Prims lgoritm ungrr gnom tt rit ilr som rprsntrr vrj mllnrsultt unr lgoritmnsxkvring. Använ xmplt ovn. V är principn kom Prims lgoritm? S ov or th principl. Digrms:- (2p) 34 rom 34 22 c 28 30 38 26 c rom 34 rom c 22 c 22 c 28 38 DFR Dtstrukturr och lgoritmr, DAV B03, omtntmn 150817 - cit Sin 17 v 22

Krlsts univrsitt DSA omtntmn 150817 - cit Dtvtnskp rom rom 22 c 28 22 c 28 26 Chck this rsult using Kruskll s -- -22-c -- -26- c-28- th rst! 22 c 34 28 30 38 26 DFR Dtstrukturr och lgoritmr, DAV B03, omtntmn 150817 - cit Sin 18 v 22

Krlsts univrsitt DSA omtntmn 150817 - cit Dtvtnskp (8) Dijkstr + SPT (Shortst Pth Tr) Tillämp n givn Dijkstr_SPT lgoritmn (nn) på n orikt grn, (--, --c, -34-, -22-c, --, c-28-, c-30-, c-38-, -26-, --). SPT = Shortst Pth Tr - vs kortst väg trät (KVT) rån n no till ll nr. 1. Börj m no 2. Vis vrj stg i räkningrn 3. Ang *ll* ntgnn och vis *ll* räkningr och mllnrsultt 4. Rit vrj stg i konstruktionn v SPT:t vs vis till och m nor och kntr som läggs till mn sn ts ort. (3p) Förklr hur Dijkstr-SPT lgoritm ungrr gnom tt rit ilr som rprsntrr vrj mllnrsultt unr lgoritmnsxkvring. Använ xmplt ovn. Dijkstrs lgoritm m n utökning ör SPT Dijkstr_SPT ( ) { S = { or (i in V-S) { D[i] = C[, i] --- initilis D - (g cost) E[i] = --- initilis E - SPT (g) L[i] = C[, i] --- initilis L - SPT (cost) (2p) Totlt 5p or (i in 1..( V -1)) { choos w in V-S such tht D[w] is minimum S = S + {w orch ( v in V-S ) i (D[w] + C[w,v] < D[v]) { D[v] = D[w] + C[w,v] E[v] = w L[v] = C[w,v] DFR Dtstrukturr och lgoritmr, DAV B03, omtntmn 150817 - cit Sin 19 v 22

Krlsts univrsitt DSA omtntmn 150817 - cit Dtvtnskp Drw th cost mtrix C n rrys D, E, L c 34 22 c 22 28 30 38 34 28 26 30 38 26 c D 34 E L 34 Drw th grph SPT is 34 34 22 c 28 30 38 26 c 26 DFR Dtstrukturr och lgoritmr, DAV B03, omtntmn 150817 - cit Sin v 22

Krlsts univrsitt DSA omtntmn 150817 - cit Dtvtnskp c D: 34 E: L: 34 Clcultions: w is (min vlu in D) S = {, V-S = {c,,, v = c i (D[]+C (,c) < D[c]) i (+22 < ) no chng v = i (D[]+C (,) < D[]) i (+ < 34) no chng v = i (D[]+C (,) < D[]) i (+ < ) -- 44 (--)(--) v = i (D[]+C (,) < D[]) i (+ < ) no chng c D: 34 44 E: L: 34 w is (min vlu in D) S = {,, V-S = {c,, v = c i (D[]+C (,c) < D[c]) i (34+28 < ) no chng v = i (D[]+C (,) < D[]) i (34+ < 44) no chng v = i (D[]+C (,) < D[]) i (34+26 < ) -- 60 (-34-)(-26-) c D: 34 44 60 E: L: 34 26 w is c (min vlu in D) S = {,,,c V-S = {, v = i (D[c]+C (c,) < D[]) i (+30 < 44) no chng v = i (D[c]+C (c,) < D[]) i (34+38 < 60) no chng c D: 34 44 60 E: L: 34 26 w is (min vlu in D) S = {,,,c, V-S = { v = i (D[]+C (,) < D[]) i (44+ < 60) no chng c D: 34 44 60 E: L: 34 26 w is (min vlu in D) S = {,,,c,, V-S = { STOP! DFR Dtstrukturr och lgoritmr, DAV B03, omtntmn 150817 - cit Sin 21 v 22

Krlsts univrsitt DSA omtntmn 150817 - cit Dtvtnskp 34 22 c 28 30 38 26 34 22 c 28 30 38 26 34 22 c 28 30 38 26 DFR Dtstrukturr och lgoritmr, DAV B03, omtntmn 150817 - cit Sin 22 v 22