Algoritmer och datastrukturer, föreläsning 11

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

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

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

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

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

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

Making room for tomorrow

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

Laboration 1a: En Trie-modul

Mitt barn skulle aldrig klottra!...eller?

The Next Generation platform Snabbguide

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

Vill veta kvaliteten hos våra vattenföringsdata?

Där a mol av ämnet A reagerar med b mol av B och bildar c mol av C och d mol av D.

Installatörens referenshandbok

Kaffe 5 kr Bulle 5 kr Kaffe och bulle 8 kr

SF1625 Envariabelanalys

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

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

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

VATEK Multifix kopplingar för alla rörtyper


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

Finaltävling den 20 november 2010

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

Medborgarnas synpunkter på skattesystemet, skattefusket och Skatteverkets kontroll

Företagens synpunkter på skattesystemet, skattefusket och Skatteverkets kontroll

Vilken rät linje passar bäst till givna datapunkter?

Uppsala Universitet Matematiska Institutionen Bo Styf. Sammanfattning av föreläsningarna 5-7.

Magnus Nielsen, IDA, Linköpings universitet


16.3. Projektion och Spegling

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

Hvor tilfreds er du med din togrejse?

Tentamen Programmeringsteknik II Skrivtid: Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper.

En krona dagen om dag ona om r e k n n E E n n k e g o r a d m o a n

14. MINSTAKVADRATMETODEN

SF1625 Envariabelanalys

Volym och dubbelintegraler över en rektangel

Trigonometri. 2 Godtyckliga trianglar och enhetscirkeln 2. 3 Triangelsatserna Areasatsen Sinussatsen Kosinussatsen...

Induktion LCB 2000/2001

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

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

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

ACO VVS. industribrunn. EG Industribrunn

Innan du kan använda maskinen ska du läsa den här Snabbguiden så att maskinen ställs in och installeras på rätt sätt.

ORTONORMERAT KOORDINAT SYSTEM. LÄNGDEN AV EN VEKTOR. AVSTÅND MELLEN TVÅ PUNKTER. MITTPUNKT. TYNGDPUNKT. SFÄR OCH KLOT.

Månadsrapport maj Individ- och familjeomsorg

Lödda värmeväxlare, XB

Kan det vara möjligt att med endast

Uppgift 1. (4p) (Student som är godkänd på KS1 hoppar över uppgift 1.)

LINJÄR ALGEBRA II LEKTION 1

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

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

6 Formella språk. Matematik för språkteknologer (5LN445) UPPSALA UNIVERSITET

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

Nautisk matematik, LNC022, Lösningar

Exponentiella förändringar

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

Samling av bevis som krävs på tentan MVE465, 2018

Datastrukturer och algoritmer

OTHELLO. En minut att lära... En livstid att bemästra. Brian Rose

Gör slag i saken! Frank Bach

Jag vill inte vara ensam

INLEDNING: Funktioner (=avbildningar). Beteckningar och grundbegrepp

MEDIA PRO. Introduktion BYGG DIN EGEN PC

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Tentamen TMV210 Inledande Diskret Matematik, D1/DI2

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

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

Materiens Struktur. Lösningar

T-konsult. Undersökningsrapport. Villagatan 15. Vind svag nordvästlig, luftfuktighet 81%, temp 2,3 grader

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

Föreläsning 7: Trigonometri

På en landsväg. % Œ. œ œ. j œ # # œ œ j œ. œ J. œ œ œ œ œ. œ œ œ. œ œ# œ œ # œ œ œ œ. œ œ œ œ. œ œ j. œ œ œ j œ Œ ? # # œ œ. œ J. œ œ. œ œ. œ œ.

A LT B A R Y TO N. enkelt

Dagens ämnen. Repetition: kvadratiska former och andragradskurvor Andragradsytor System av differentialekvationer

1 e x2. lim. x ln(1 + x) lim. 1 (1 x 2 + O(x 4 )) = lim. x 0 x 2 /2 + O(x 3 ) x 2 + O(x 4 ) = lim. 1 + O(x 2 ) = lim = x = arctan x 1

ICKE-HOMOGENA DIFFERENTIALEKVATIONSSYSTEM ( MED KONSTANTA KOEFFICIENTER I HOMOGENA DELEN)

Matris invers, invers linjär transformation.

Sammanfattning av ALA-B 2007

KVADRATISKA MATRISER, DIAGONALMATRISER, MATRISENS SPÅR, TRIANGULÄRA MATRISER, ENHETSMATRISER, INVERSA MATRISER

FÄRGLAGD A STENSUNDSVÄGEN BOSTÄDER BILPLATSER GARAGE 86 ST

ORTONORMERADE BASER I PLAN (2D) OCH RUMMET (3D) ORTONORMERAT KOORDINAT SYSTEM

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

Opp, Amaryllis (Fredmans sång nr 31)

är ett tal som betecknas det(a) eller Motivering: Determinanter utvecklades i samband med lösningsmetoder för kvadratiska linjära system.

Sfärisk trigonometri

Produktdatablad Januar 2016

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.

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

Arkitekturell systemförvaltning

24 Integraler av masstyp

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

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

CHECKLISTA FÖR PERSONALRUM

Vila vid denna källa (epistel nr 82)

1.1 Sfäriska koordinater

Appendix. De plana triangelsatserna. D c

Transkript:

Aloritmr oh tstrukturr, förläsnin Dnn förläsnin hnlr rfr. En rf hr n män nor (vrtx) oh n män år (). Ett xmpl är: A E F B D G H C Z Dnn rf hr följn män v nor: {A, B, C, D, E, F, G, H, Z Dn hr följn män år: {<A, B>, <B, C>, <C, D>, <C, D>, <D, E>, <E, F>, <G, H>, <H, Z> Osrvr tt årn är rikt! Vi finirr n nos utr som ntl år som år ut från non. En nos inr är ntlt år in till non. En vä från no A till no B är n män nor vi vilk mn kn å från A till B vi år. Osrvr tt mn får r å i pilns riktnin på n å. En ykl är n vä är först oh sist non är smm. En nkl ykl är n ykl är ll nor utom n sist oh n först är olik. I n orikt rf finns t inn riktnin på årn, mn får å åt å hålln. Mn kn s n orikt rf som n rikt rf är t llti finns n å från B till A om t okså finns n från A till B. En rf klls smmnhänn om t finns n vä mlln ll nor. Grfn i fiurn ovn är lltså int smmnhänn. Dn hr två komponntr. Oft finns t nåot vär på årn i n rf. Dt kn till xmpl rprsntr länn v vän mlln två nor llr kostnn för tt å mlln två nor.

Rprsnttion v rfr Dn nklst rprsnttionn är tt nvän n mtris. Ant till xmpl tt vi hr följn rf: 4 5 A B 4 C D 3 Dn kn rprsntrs v följn mtris llr tll: A B C D A null 4 null null B 5 null 4 C 3 null null null D null null null En nkl är tt om rfn är stor så lir mtrisn mykt stor. Oft så finns t r år mlln nor som lir när vrnr oh å kommr t oftst tt stå null i tlln. En nnn rprsnttion är närhtslistn. Dn sr ut så här för rfn ovn: A B C D 4 5 4 3 Fyrkntrn länst till vänstr rprsntrr norn. I fyrkntrn finns t som hör hop m non. D mr vlån fyrkntrn rprsntrr årn, här finns okså t som hör ihop m ån. D år som rs upp till vänstr om n no är år som utår från non. Piln som år från vrj å till n no visr till vilkn no som ån år. Rprsnttion i Jv I Jv nvänr mn vnlitvis tr olik klssr för tt rprsntr rfr. In är smm som för trä oh länk listor, tt mn hr n klss för trät llr listn oh n för norn som i sin tur kn innhållr t. Vi nvänr n noklss, n åklss oh n rfklss. En skiss v m följr nn.

Vi örjr m noklssn. Dn kn s ut så här: puli lss Vrtx{ //Noklssn puli Vrtx nxtvrtx(){ puli E firste(){ Om till xmpl no A i rfn ovn nropr nxtvrtx så får mn B t. Om D nropr nxtvrtx() så lir rsulttt null ftrsom t int finns nåon näst no. Om no A nropr firste() så får mn ån som är strx till vänstr om n. Båklssn kn h föjn prinipill utsn: puli lss E{ puli E nxte(){ puli Vrtx npoint(){ Om mn nropr nxte() så får mn n å som finns till hör i närhtslistn. Om t int finns nåon så får mn null. Om mn nropr npoint() så får mn r på vilkn no som ån pkr på. Själv rfklssn kn s ut så här: puli lss DiGrph{ puli Vrtx firstvrtx(){ puli voi insrtvrtx(vrtx v){ puli voi insrte(vrtx v, Vrtx w, E ){ Om mn nropr firstvrtx() så får mn n först non i rfn, i närhtsrfn ovn är t no A. Exmpl Ant tt vi vill å inom ll nor i n rf oron v år. Då kn mn ör så här: Vrtx v =.firstvrtx(); whil (!= null){ //Gör nåot m non här v = v.nxte(); Osrvr tt mn int lls följr årn i rfn när mn ör så här. Exmpl Ant tt vi vill sök ll rnnrn till non v. Så här kn mn ör å: E = v.firste(); whil (!= null){ Vrtx w =.npoint(); //Bhnl non

=.nxte(); Att å inom rfr Vi sk titt på två sätt tt å inom (trvrsr) rfr nom tt följ årn. I ä flln hövs t n strtno. Dn kn mton firstvrtx() i rfklssn förs oss m. Dn n mton klls jupt först oh n nr rn först. Djupt först Mn nvänr rkursion för tt å inom norn. Mn mkrr nor som sökt när mn hr sökt m, vrj no hr tt oolskt ttriut visit som nväns för tt. Mn kn nst komm till nor som kn nås från strtnon. Dt tyr tt om rfn hr flr komponntr så kommr mn r tt sök ll nor i strtnons komponnt. Mton för tt plrs lämplin i rfklssn. Kon kn s ut så här: puli voi pthfirst(vrtx v){ v.visit = tru; // Gör nåot m non E = v.firste(); whil (!= null){ Vrtx w =.npoint(); if (!w.visit) pthfirst(w); =.nxte(); Brn först Här sökr mn först ll strtnons rnnr, sn rnnrns rnnr t. Okså här nväns tt oolskt ttriut för tt mrkr tt n no är sökt. Kon kn s ut så här: puli voi rthfirst(vrtx v){ v.visit = tru; //Gör nåot m non q.(v); whil (!q.isempty()){ Vrtx x = q.rmov; E = x.firste(); whil (!= null){ Vrtx w = npoint(); if (!w.visit){ w.visit = tru; //Gör nåot m non; q.(w); =.nxte(); q kn vr t x n list i vilkn mn lrr nor vrs rnnr mn sk sök. Mn sökr r nor som kn nås från strtnon.

Aloritmr för tt hitt kortst vä från n strtno till ll nr nor i n rf Vi sk titt på tr fll:. All år hr länn. All år hr positiv län, mn kn vr olik 3. Bårn kn h å positiv oh ntiv län All år hr länn Dtt är t nklst fllt är mn okså kn hitt n ffktivst loritmn. Aloritmr sökr si frm nom rfn oh n no i vilkn mn just är klls ktull no. Låt oss nvän följn rf som tt xmpl: f Ant tt strtnon är. Vi örjr m tt sätt ktull no till. Avstånt till är 0 för självt oh oänlihtn för nr norn när loritmn örjr. Vi år inom rfn m rn först ( v s först sökr mn rnnr, sn rnnrns rnnr oh så vir) oh räknr sussivt ättr (kortr) värn för vstånt. Mn kn smmnftt loritmn i rfn i n tll som sr ut så här: Aktull no f inf inf Avstån 0 inf oh inf vä inf inf Nor tt f sök inf 0 inf inf inf f inf 0 inf inf inf 0 inf inf 3 3 0 Dn först rn innhållr loritmns strtvärn. I näst r tr vi non oh kollr på :s rnnr, t vill sä oh f. Bä ss hr prliminärt vstån inf till oh vi kn hitt tt ättr vstån nämlin. Vi skrivr vstånt i tlln oh nr unr :orn från vilkn

no mn kommr. Eftrsom oh f vr rnnr som vi sökt skrivr vi in m i listn övr nor tt sök. Därftr tr vi f från n listn oh ör f till ktull no. Mn från f lr in år till nåon nnn no, så t lr int till nåon föränrin v vstånn. I näst r så är ktull no oh å hittr vi ättr vstån till oh. Aloritmr fortsättr tills ll vstån är stäm. All vstån är positiv mn kn vr olik lån Dtt fll hnls ffktivt v Dijkstrs loritm som pulirs 959 (mn upptäkts rn 956). Aloritmn kn skrivs så här:. G ll nor tt vstån, 0 för strtnon, oänlihtn för ll nr.. Mrkr ll nor som osökt oh sätt ktull no = strtnon. 3. För ktull no: Bräkn tt prliminärt vstånt från strtnon till ll rnnr om mn år vi n ktull non. Om tt vstån är minr än t vstån som rnnn rn hr så rsätt t ml m t prliminär. 4. När ll rnnr är sökt, mrkr ktull no som sökt. 5. Om ll nor är sökt så är vi färi. Om j sätt n osökt non m minst vstån till ktull no oh å tillk till punkt 3. Vi kn t tt xmpl, nt tt vi hr följn rf: 4 3 8 4 5 f 6 0 Vi ör n tll för tt smmnftt loritmn (strtno är ): Aktull no Avstån oh vä f 0 inf inf inf inf inf inf inf inf inf inf 3 3 9 5 3 3 9 5 3 8 5 8 5 6

Dn först rn är utånslät. I näst r upptrr vi vstånn för :s rnnr. No lir sn ktull no för n hr kortst vstån till. Därftr kollr vi om vi kn hitt kortr vstån om vi år irktvän vi t. Mn kn nvän n priorittskö för tt hitt n no v hittills j sökt som hr kortst vä till strtnon. Bålänr får vr å positiv oh ntiv I tt fll kn mn nvän Bllmn-Fors loritm. Dn rtr nom tt sussivt hitt ättr oh ättr vär. En svåriht är tt om t finns yklr är summn v länrn är ntiv så finns t int nåon lösnin. Bllmn-Fors loritm upptäkr ävn tt fll. Låt oss nt tt vi hr följn rf är är strtno: 6 8 5 - -3-4 9 Vi nvänr n tll. Aktull no Avstån Nor tt hnl 0 inf inf inf inf 0 6 inf inf 0 6 4 6 0 6 4 0 6 4 0 4 0 4-0 4 - På vrj r kollr vi om t år tt hitt n kortr vä nom tt å från n ktull non till nåon v n ktull nons rnnr. Vrj ån som t lir n föränrin v tt vstån så stoppr vi in n no vrs vstån föränrs i Nor tt hnl om int non rn finns är. Om t finns ntiv yklr så kommr loritmn int tt konvrr.