INF Algoritmer og datastrukturer
|
|
- Kaare Dale
- 7 år siden
- Visninger:
Transkript
1 INF0 - Algoritmer og datastrukturer HØSTEN 05 Institutt for informatikk, Universitetet i Oslo Forelesning 6: Grafer II Ingrid Chieh Yu (Ifi, UiO) INF / 8
2 Dagens plan: Minimale spenntrær Prim Kruskal Dybde-først søk Løkkeleting DFS Spenntre Biconnectivity Ingrid Chieh Yu (Ifi, UiO) INF / 8
3 Minimale spenntrær
4 Minimale spenntrær Minimale spenntrær Definition Et minimalt spenntre for en urettet graf G er et tre med kanter fra grafen, slik at alle nodene i G er forbundet til lavest mulig kostnad eksisterer bare for sammenhengende grafer Generelt: flere minimale spenntrær for samme graf Hvor mange kanter får spenntreet? Ingrid Chieh Yu (Ifi, UiO) INF / 8
5 Minimale spenntrær Minimale spenntrær V V 3 V 5 8 V V 6 V 7 V 5 Hvor mange kanter får spenntreet? Ingrid Chieh Yu (Ifi, UiO) INF / 8
6 Minimale spenntrær Minimale spenntrær V 3 V 0 V V V V 7 6 V 5 V 3 V 6 V 5 V 6 V 7 V 6 V 7 Hvor mange kanter får spenntreet? Ingrid Chieh Yu (Ifi, UiO) INF / 8
7 Grådige algoritmer Minimale spenntrær Grådige algoritmer Prøver i hvert trinn å gjøre det som ser best ut der og da Typisk eksempel: Gi vekslepenger Raske algoritmer, men kan ikke løse alle problemer: Finn det høyeste punktet! Vi skal se på to ulike grådige algoritmer for å finne minimale spenntrær Ingrid Chieh Yu (Ifi, UiO) INF / 8
8 Prims algoritme Minimale spenntrær Prims algoritme Treet bygges opp trinnvis I hvert trinn: pluss en kant (og dermed en tilhørende node) til treet typer noder: Noder som er med i treet Noder som ikke er med i treet Nye noder: velge en kant (u, v) med minst vekt slik at u er med i treet, og v ikke er det. v v v 3 v v v 6 v Algoritmen begynner med å velge en vilkårlig node Eksempel: La oss velge v Ingrid Chieh Yu (Ifi, UiO) INF / 8
9 Prims algoritme Minimale spenntrær Prims algoritme Treet bygges opp trinnvis I hvert trinn: pluss en kant (og dermed en tilhørende node) til treet typer noder: Noder som er med i treet Noder som ikke er med i treet Nye noder: velge en kant (u, v) med minst vekt slik at u er med i treet, og v ikke er det. v v v 3 v v v 6 v Algoritmen begynner med å velge en vilkårlig node Eksempel: La oss velge v Ingrid Chieh Yu (Ifi, UiO) INF / 8
10 Minimale spenntrær Prim: growing a tree () Prims algoritme v v v 3 v v v 6 v minste kant ut fra v går til v, så vi legger den inn i spenntreet Ingrid Chieh Yu (Ifi, UiO) INF / 8
11 Minimale spenntrær Prim: growing a tree () Prims algoritme v v 0 3 v 3 v v v 6 v Vi har nå to mulige fortsettelser: Kanten fra v til v Kanten fra v til v 3 Samme hvilken vi velger, vil den andre av dem bli neste kant, så vi legger dem begge inn i spenntreet Ingrid Chieh Yu (Ifi, UiO) INF / 8
12 Minimale spenntrær Prim: growing a tree (3) Prims algoritme v v 0 3 v 3 v v v 6 v Ingrid Chieh Yu (Ifi, UiO) INF / 8
13 Minimale spenntrær Prim: growing a tree () Prims algoritme v v 0 3 v 3 v v v 6 v Minste kant ut fra spenntreet går nå fra v til v 7 Så får vi kanten fra v 7 til v 6 Til slutt får vi kanten fra v 7 til v 5 Ingrid Chieh Yu (Ifi, UiO) INF / 8
14 Minimale spenntrær Prim: growing a tree (5) Prims algoritme v v 0 3 v 3 v v v 6 v Ingrid Chieh Yu (Ifi, UiO) INF / 8
15 Minimale spenntrær Prim: growing a tree (6) Prims algoritme v v 0 3 v 3 v v v 6 v Ingrid Chieh Yu (Ifi, UiO) INF / 8
16 Minimale spenntrær Prim: growing a tree (7) Prims algoritme v v 0 3 v 3 v v v 6 v Ingrid Chieh Yu (Ifi, UiO) INF / 8
17 Minimale spenntrær Prims algoritme Prims algoritme: essensielt lik Dijkstras algo for korteste vei! I Prims algoritme er avstanden til en ukjent node v den minste vekten til en kant som forbinder v med en kjent node Husk: vi har urettede grafer, så hver kant befinner seg i nabolister Kjøretidsanalysen er den samme som for Dijkstras algoritme Ingrid Chieh Yu (Ifi, UiO) INF / 8
18 Hvorfor virker Prim? Minimale spenntrær Prims algoritme Lemma (Løkke-lemma for spenntrær) Anta at U er et spenntre for en graf, og at kanten e ikke er med i treet U Hvis vi legger kanten e til treet U, dannes en entydig bestemt enkel løkke. Hvis vi fjerner en vilkårlig kant i denne løkken, vil vi igjen ha et spenntre for grafen Invariant Det treet T som dannes av de kantene (og deres endenoder) vi til nå har plukket ut, er slik at det finnes et minimalt spenntre U for grafen som inneholder (alle kantene i) T Ingrid Chieh Yu (Ifi, UiO) INF / 8
19 Kruskals algoritme: Minimale spenntrær Kruskals algoritme Se på kantene en etter en, sortert etter minst vekt Kanten aksepteres hvis, og bare hvis, den ikke fører til noen løkke Algoritmen implementeres vha. en prioritetskø og disjunkte mengder: Initielt plasseres kantene i en prioritetskø og nodene i hver sin disjunkte mengde (slik at find(v) gir mengden til (v)). Invariant: De disjunkte mengdene er subtrær av det endelige spenntreet deletemin gir neste kant (u, v) som skal testes Hvis find(u)! = find(v), har vi en ny kant i treet og gjør union(u, v) Hvis ikke, ville (u, v) ha dannet en løkke, så kanten forkastes Algoritmen terminerer når prioritetskøen er tom, eventuelt når vi har lagt inn V kanter Ingrid Chieh Yu (Ifi, UiO) INF / 8
20 Kruskals algoritme: Minimale spenntrær Kruskals algoritme Se på kantene en etter en, sortert etter minst vekt Kanten aksepteres hvis, og bare hvis, den ikke fører til noen løkke Algoritmen implementeres vha. en prioritetskø og disjunkte mengder: Initielt plasseres kantene i en prioritetskø og nodene i hver sin disjunkte mengde (slik at find(v) gir mengden til (v)). Invariant: De disjunkte mengdene er subtrær av det endelige spenntreet deletemin gir neste kant (u, v) som skal testes Hvis find(u)! = find(v), har vi en ny kant i treet og gjør union(u, v) Hvis ikke, ville (u, v) ha dannet en løkke, så kanten forkastes Algoritmen terminerer når prioritetskøen er tom, eventuelt når vi har lagt inn V kanter Ingrid Chieh Yu (Ifi, UiO) INF / 8
21 Kruskals algoritme: Minimale spenntrær Kruskals algoritme Se på kantene en etter en, sortert etter minst vekt Kanten aksepteres hvis, og bare hvis, den ikke fører til noen løkke Algoritmen implementeres vha. en prioritetskø og disjunkte mengder: Initielt plasseres kantene i en prioritetskø og nodene i hver sin disjunkte mengde (slik at find(v) gir mengden til (v)). Invariant: De disjunkte mengdene er subtrær av det endelige spenntreet deletemin gir neste kant (u, v) som skal testes Hvis find(u)! = find(v), har vi en ny kant i treet og gjør union(u, v) Hvis ikke, ville (u, v) ha dannet en løkke, så kanten forkastes Algoritmen terminerer når prioritetskøen er tom, eventuelt når vi har lagt inn V kanter Ingrid Chieh Yu (Ifi, UiO) INF / 8
22 Kruskals algoritme: Minimale spenntrær Kruskals algoritme Se på kantene en etter en, sortert etter minst vekt Kanten aksepteres hvis, og bare hvis, den ikke fører til noen løkke Algoritmen implementeres vha. en prioritetskø og disjunkte mengder: Initielt plasseres kantene i en prioritetskø og nodene i hver sin disjunkte mengde (slik at find(v) gir mengden til (v)). Invariant: De disjunkte mengdene er subtrær av det endelige spenntreet deletemin gir neste kant (u, v) som skal testes Hvis find(u)! = find(v), har vi en ny kant i treet og gjør union(u, v) Hvis ikke, ville (u, v) ha dannet en løkke, så kanten forkastes Algoritmen terminerer når prioritetskøen er tom, eventuelt når vi har lagt inn V kanter Ingrid Chieh Yu (Ifi, UiO) INF / 8
23 Growing a forest () Minimale spenntrær Kruskals algoritme Utgangspunkt for Kruskals algoritme: v v 0 3 v 3 v v v 6 v Ingrid Chieh Yu (Ifi, UiO) INF / 8
24 Growing a forest () Minimale spenntrær Kruskals algoritme Utgangspunkt for Kruskals algoritme: v v 0 3 v 3 v v v 6 v Vi har to kanter med vekt De blir til to subtrær i spenn-treet Ingrid Chieh Yu (Ifi, UiO) INF / 8
25 Growing a forest (3) Minimale spenntrær Kruskals algoritme Utgangspunkt for Kruskals algoritme: v v 0 3 v 3 v v v 6 v Vi har to kanter med vekt De blir til to subtrær i spenn-treet Ingrid Chieh Yu (Ifi, UiO) INF / 8
26 Growing a forest () Minimale spenntrær Kruskals algoritme Utgangspunkt for Kruskals algoritme: v v 0 3 v 3 v v v 6 v Vi har to kanter med vekt De blir del av det øverste subtreet Ingrid Chieh Yu (Ifi, UiO) INF / 8
27 Growing a forest (5) Minimale spenntrær Kruskals algoritme Utgangspunkt for Kruskals algoritme: v v 0 3 v 3 v v v 6 v Vi har to kanter med vekt De blir del av det øverste subtreet Ingrid Chieh Yu (Ifi, UiO) INF / 8
28 Growing a forest (6) Minimale spenntrær Kruskals algoritme Utgangspunkt for Kruskals algoritme: v v 0 3 v 3 v v v 6 v kant med vekt 3: Den vil lage en løkke og må forkastes Ingrid Chieh Yu (Ifi, UiO) INF / 8
29 Growing a forest (7) Minimale spenntrær Kruskals algoritme Utgangspunkt for Kruskals algoritme: v v 0 3 v 3 v v v 6 v kanter med vekt hvor den mellom v og v 3 danner en løkke, mens den andre binder de to subtrærne sammen Ingrid Chieh Yu (Ifi, UiO) INF / 8
30 Growing a forest (8) Minimale spenntrær Kruskals algoritme Utgangspunkt for Kruskals algoritme: v v 0 3 v 3 v v v 6 v kanter med vekt hvor den mellom v og v 3 danner en løkke, mens den andre binder de to subtrærne sammen Ingrid Chieh Yu (Ifi, UiO) INF / 8
31 Growing a forest (9) Minimale spenntrær Kruskals algoritme Utgangspunkt for Kruskals algoritme: v v 0 3 v 3 v v v 6 v kant med vekt 5: løkke Ingrid Chieh Yu (Ifi, UiO) INF / 8
32 Growing a forest (0) Minimale spenntrær Kruskals algoritme Utgangspunkt for Kruskals algoritme: v v 0 3 v 3 v v v 6 v kant med vekt 6: knytter den siste noden til treet Ingrid Chieh Yu (Ifi, UiO) INF / 8
33 Growing a forest () Minimale spenntrær Kruskals algoritme Utgangspunkt for Kruskals algoritme: v v 0 3 v 3 v v v 6 v Nå har vi lagt inn V kanter i spenn-treet og kan slutte. Hvis vi fortsetter med resten av kantene, vil alle danne løkker og bli forkastet Ingrid Chieh Yu (Ifi, UiO) INF / 8
34 Tidsanalyse: Minimale spenntrær Kruskals algoritme Hovedløkken går E ganger I hver iterasjon gjøres en deletemin, to find og en union, med samlet tidsforbruk O(log E ) + O(log V )+O() = O(log V ) (fordi log E < log V ) Totalt tidsforbruk er O( E log V ) Prim vs. Kruskal Prims algoritme er noe mer effektiv enn Kruskals, spesielt for tette grafer Prims algoritme virker bare i sammenhengende grafer Kruskas algoritme gir et minimalt spenn-tre i hver sammenhengskomponent i grafen Ingrid Chieh Yu (Ifi, UiO) INF / 8
35 Tidsanalyse: Minimale spenntrær Kruskals algoritme Hovedløkken går E ganger I hver iterasjon gjøres en deletemin, to find og en union, med samlet tidsforbruk O(log E ) + O(log V )+O() = O(log V ) (fordi log E < log V ) Totalt tidsforbruk er O( E log V ) Prim vs. Kruskal Prims algoritme er noe mer effektiv enn Kruskals, spesielt for tette grafer Prims algoritme virker bare i sammenhengende grafer Kruskas algoritme gir et minimalt spenn-tre i hver sammenhengskomponent i grafen Ingrid Chieh Yu (Ifi, UiO) INF / 8
36 Dybde-først søk
37 Dybde-først søk Dybde-først søk klassisk graf traversering generalisering av prefiks traversering for trær gitt: start node v: rekursivt traverserer alle nabonodene rekursjon vi undersøker alle noder som kan nåes fra første etterfølger til v, før vi undersøker neste etterfølger til v for vilkårlige grafer: pass på å terminerer rekursjon! unvisited visited nodes. DFS Initialize: all nodes unvisited. Recur: when visited: return immidiately when unvisited set to visited recur on all neighbors Ingrid Chieh Yu (Ifi, UiO) INF / 8
38 Dybde-først søk Dybde-først søk klassisk graf traversering generalisering av prefiks traversering for trær gitt: start node v: rekursivt traverserer alle nabonodene rekursjon vi undersøker alle noder som kan nåes fra første etterfølger til v, før vi undersøker neste etterfølger til v for vilkårlige grafer: pass på å terminerer rekursjon! unvisited visited nodes. DFS Initialize: all nodes unvisited. Recur: when visited: return immidiately when unvisited set to visited recur on all neighbors Ingrid Chieh Yu (Ifi, UiO) INF / 8
39 Dybde-først søk A v o i d dybdeførstsøk ( Node v ) { v. merke = t r u e ; f o r < h v e r nabo w t i l v > { i f (! w. merke ) { dybdeførstsøk (w ) ; } } } G C B E D F Ingrid Chieh Yu (Ifi, UiO) INF / 8
40 Løkkeleting Dybde-først søk Løkkeleting Vi kan bruke dybde-først søk til å sjekke om en graf har løkker 3 verdier til tilstandsvariablen: usett, igang og ferdig (besøkt) v o i d l økkelet ( Node v ) { i f ( v. t i l s t a n d == i g a n g ) { < Løkke e r f u n n e t > } e l s e i f ( v. t i l s t a n d == u s e t t ) { v. t i l s t a n d = i g a n g ; f o r < h v e r nabo w t i l v > { l økkelet (w ) ; } v. t i l s t a n d = f e r d i g ; } } Ingrid Chieh Yu (Ifi, UiO) INF / 8
41 Dybde-først søk Er grafen sammenhengende? Løkkeleting urettet graf & DFS En urettet graf er sammenhengende hvis og bare hvis et dybde-først søk som starter i en tilfeldig node, besøker alle nodene i grafen rettet graf & DFS En rettet graf er sterkt sammenhengende hvis og bare hvis vi fra hver eneste node v klarer å besøke alle de andre nodene i grafen ved et dybde-først søk fra v Hvis grafen ikke er sammenhengende, kan vi foreta nye dybde-først søk fra noder som ikke er besøkte, inntil alle nodene er behandlet Ingrid Chieh Yu (Ifi, UiO) INF / 8
42 Dybde-først søk Er grafen sammenhengende? Løkkeleting urettet graf & DFS En urettet graf er sammenhengende hvis og bare hvis et dybde-først søk som starter i en tilfeldig node, besøker alle nodene i grafen rettet graf & DFS En rettet graf er sterkt sammenhengende hvis og bare hvis vi fra hver eneste node v klarer å besøke alle de andre nodene i grafen ved et dybde-først søk fra v Hvis grafen ikke er sammenhengende, kan vi foreta nye dybde-først søk fra noder som ikke er besøkte, inntil alle nodene er behandlet Ingrid Chieh Yu (Ifi, UiO) INF / 8
43 Urettet grafer
44 Urettet grafer Dybde-først-spenntre for urettet sammenhengende grafer ikke sammenhengende grafer: dfs spanning forest huske back-pointers Ulike type kanter gitt en bestemt kjøring av dfs tree edges back edges Ingrid Chieh Yu (Ifi, UiO) INF / 8
45 Urettet grafer DFS, urettet graf () B A F C D G E Ingrid Chieh Yu (Ifi, UiO) INF / 8
46 Urettet grafer DFS, urettet graf () B A F C D G E Ingrid Chieh Yu (Ifi, UiO) INF / 8
47 Urettet grafer DFS, urettet graf (3) B A F C D G E Ingrid Chieh Yu (Ifi, UiO) INF / 8
48 Urettet grafer DFS, urettet graf () B A F C D G E Ingrid Chieh Yu (Ifi, UiO) INF / 8
49 Urettet grafer DFS, urettet graf (5) B A F C D G E Ingrid Chieh Yu (Ifi, UiO) INF / 8
50 Urettet grafer DFS, urettet graf (6) B A F C D G E Ingrid Chieh Yu (Ifi, UiO) INF / 8
51 Urettet grafer DFS, urettet graf (7) B A F C D G E Ingrid Chieh Yu (Ifi, UiO) INF / 8
52 Urettet grafer DFS, urettet graf (8) B A F C D G E Ingrid Chieh Yu (Ifi, UiO) INF / 8
53 Urettet grafer DFS, urettet graf (9) B A F C D G E Ingrid Chieh Yu (Ifi, UiO) INF / 8
54 Urettet grafer DFS, urettet graf (0) B A F C D G E Ingrid Chieh Yu (Ifi, UiO) INF / 8
55 Urettet grafer DFS, urettet graf () B A F C D G E Ingrid Chieh Yu (Ifi, UiO) INF / 8
56 Urettet grafer DFS, urettet graf () B A F C D G E Ingrid Chieh Yu (Ifi, UiO) INF / 8
57 Urettet grafer DFS, urettet graf (3) B A F C D G E Ingrid Chieh Yu (Ifi, UiO) INF / 8
58 Urettet grafer DFS, urettet graf () B A F C D G E Ingrid Chieh Yu (Ifi, UiO) INF / 8
59 Urettet grafer DFS, urettet graf (5) B A F C D G E Ingrid Chieh Yu (Ifi, UiO) INF / 8
60 Urettet grafer DFS: adding visiting time () B A F C D G E Ingrid Chieh Yu (Ifi, UiO) INF / 8
61 Urettet grafer DFS: adding visiting time () B A F C D G E Ingrid Chieh Yu (Ifi, UiO) INF / 8
62 Urettet grafer DFS: adding visiting time (3) B A F C 3 D G E Ingrid Chieh Yu (Ifi, UiO) INF / 8
63 Urettet grafer DFS: adding visiting time () B A F C 3 D G E Ingrid Chieh Yu (Ifi, UiO) INF / 8
64 Urettet grafer DFS: adding visiting time (5) B A F C 3 D G E 5 Ingrid Chieh Yu (Ifi, UiO) INF / 8
65 Urettet grafer DFS: adding visiting time (6) B A F 6 C 3 D G E 5 Ingrid Chieh Yu (Ifi, UiO) INF / 8
66 Urettet grafer DFS: adding visiting time (7) B A F 6 C 3 D G E 5 Ingrid Chieh Yu (Ifi, UiO) INF / 8
67 Urettet grafer DFS: adding visiting time (8) B A F 6 C 3 D G E 5 Ingrid Chieh Yu (Ifi, UiO) INF / 8
68 Urettet grafer DFS: adding visiting time (9) B A F 6 C 3 D G 7 E 5 Ingrid Chieh Yu (Ifi, UiO) INF / 8
69 Biconnectivity Urettet grafer Definition En sammenhengende urettet graf er bi-connected hvis det ikke er noen noder som ved fjerning gjør at grafen blir ikke sammenhengende. Slik node heter cut-vertices eller articulation point. Egenskapen ved biconnectede grafer: Det er to disjunkte stier mellom hvilke to noder som helst. F.eks. Nettverk-feiltoleranse: dersom en ruter går ned, finnes det alltid en alternativ vei å rute datapakkene på. B C G A D F E Viktig å identifisere disse nodene. Single point to failure! Ingrid Chieh Yu (Ifi, UiO) INF / 8
70 Biconnectivity Urettet grafer Definition En sammenhengende urettet graf er bi-connected hvis det ikke er noen noder som ved fjerning gjør at grafen blir ikke sammenhengende. Slik node heter cut-vertices eller articulation point. Egenskapen ved biconnectede grafer: Det er to disjunkte stier mellom hvilke to noder som helst. F.eks. Nettverk-feiltoleranse: dersom en ruter går ned, finnes det alltid en alternativ vei å rute datapakkene på. B C G A D F E Viktig å identifisere disse nodene. Single point to failure! Ingrid Chieh Yu (Ifi, UiO) INF / 8
71 Biconnectivity Urettet grafer Definition En sammenhengende urettet graf er bi-connected hvis det ikke er noen noder som ved fjerning gjør at grafen blir ikke sammenhengende. Slik node heter cut-vertices eller articulation point. Egenskapen ved biconnectede grafer: Det er to disjunkte stier mellom hvilke to noder som helst. F.eks. Nettverk-feiltoleranse: dersom en ruter går ned, finnes det alltid en alternativ vei å rute datapakkene på. B C G A D F E Viktig å identifisere disse nodene. Single point to failure! Ingrid Chieh Yu (Ifi, UiO) INF / 8
72 Urettet grafer Er grafen bi-connected?. DFS-spenntre Konstruer et dfs spenntre fra en node v av G B A Alle kantene (v, w) i G er representert i treet som enten en tree edge eller som en back edge C 3 D Nummerer nodene når vi besøker dem G 7 E 5 F 6 Ingrid Chieh Yu (Ifi, UiO) INF / 8
73 Urettet grafer Er grafen bi-connected?. Low-number for hver node i treet: beregn low-nummeret B A laveste noden som kan nås ved å ta 0 eller flere tree edge etterfulgt av 0 eller back edge Dette gjør vi like før vi trekker oss tilbake (idet vi er ferdig med kallet) note: på dette tidspunktet har funnet low for alle barna til noden G 7 7 C 3 E 5 D F 6 Ingrid Chieh Yu (Ifi, UiO) INF / 8
74 Urettet grafer Er grafen bi-connected? 3. Cut-vertex En node v er en cutvertex i G hvis: v er rotnoden av DFS G -treet og har to eller flere tree edges v ikke er rotnoden av DFS G og det finnes en tree edge (v, w) slik at low(w) num(v) G 7 7 C 3 B E 5 A D F 6 Ingrid Chieh Yu (Ifi, UiO) INF / 8
75 Rot Urettet grafer B root A E C D F Roten av DFS-treet er en cutvertex hvis den har to eller flere utgående tree edges. tilbaketrekking må gå gjennom rooten for å komme fra den ene til den andre sub-treet. Ingrid Chieh Yu (Ifi, UiO) INF / 8
76 Rot Urettet grafer root A C E B D F Roten av DFS-treet er en cutvertex hvis den har to eller flere utgående tree edges. tilbaketrekking må gå gjennom rooten for å komme fra den ene til den andre sub-treet. Ingrid Chieh Yu (Ifi, UiO) INF / 8
77 Ikke-rot node Urettet grafer Et ikke-rot node v er en cutvertex hvis den har et barn w slik at ingen back edge som starter i subtreet av w når en predesessornode til v. C B D A F root E Ingrid Chieh Yu (Ifi, UiO) INF / 8
78 Ikke-rot node Urettet grafer Et ikke-rot node v er en cutvertex hvis den har et barn w slik at ingen back edge som starter i subtreet av w når en predesessornode til v. w C v A root E B D F Ingrid Chieh Yu (Ifi, UiO) INF / 8
79 Urettet grafer v o i d d f s ( v ) { v. num = c o u n t e r ++; // v. s t a t u s = v i s i t e d ; // I am v i s i t i n g now f o r each w a d j a c e n t to v i f w. s t a t u s v i s i t e d w. p a r e n t = v ; // remember p a r e n t d f s (w) // r e c u r } Ingrid Chieh Yu (Ifi, UiO) INF / 8
80 Urettet grafer v o i d a s s i g n l o w ( Node v ) { v. low = v. num ; // at l e a s t num f o r each w a d j a c e n t to v { // n e i g h b o r s i n G! i f (w. num > v. num) // f o r w a r d edge { a s s i g n l o w (w ) ; i f (w. low v. num) system. out. p r i n t l n ( v + an a r t i c u l a t i o n p o i n t! ) ; v. low = min ( v. low, w. low ) ; } } } e l s e // w. num v. num i f ( v. p a r e n t w) // back edge v. low = min ( v. low, w. num ) ; test for root not shown the two traversals (dfs + assignlow) can be combined into pass. Ingrid Chieh Yu (Ifi, UiO) INF / 8
81 Urettet grafer Neste forelesning:. oktober Kombinatorisk søk og rekursjon 8. oktober: Grafer III: Stongly connected components Gjesteforelesning: Torbjørn Morland Ingrid Chieh Yu (Ifi, UiO) INF / 8
INF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2016 Institutt for informatikk, Universitetet i Oslo Forelesning 6: Grafer II Ingrid Chieh Yu (Ifi, UiO) INF2220 28.09.2016 1 / 30 Dagens plan: Dijkstra fort.
DetaljerINF Algoritmer og datastrukturer
IN2220 - lgoritmer og datastrukturer HØSTN 2016 Institutt for informatikk, Universitetet i Oslo orelesning 7: rafer III Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 1 / 28 agens plan: evis for Prim ybde-først
DetaljerIN Algoritmer og datastrukturer
IN00 - Algoritmer og datastrukturer HØSTEN 08 Institutt for informatikk, Universitetet i Oslo Forelesning 5: Grafer II Ingrid Chieh Yu (Ifi, UiO) IN00 8.09.08 / Dagens plan: Korteste vei en-til-alle vektet
DetaljerIN Algoritmer og datastrukturer
IN010 - Algoritmer og datastrukturer HØSTEN 018 Institutt for informatikk, Universitetet i Oslo Forelesning 6: Grafer III Ingrid Chieh Yu (Ifi, UiO) IN010 0.10.018 1 / 0 Dagens plan: Dybde-først søk Biconnectivity
DetaljerGRAFER. Korteste vei i en vektet graf uten negative kanter. Korteste vei, en-til-alle, for: Minimale spenntrær
IN Algoritmer og datastrukturer GRAER IN Algoritmer og datastrukturer Dagens plan: orteste vei, en-til-alle, for: ektet rettet graf uten negative kanter (apittel 9..) (Dijkstras algoritme) ektet rettet
DetaljerINF1020 Algoritmer og datastrukturer GRAFER
GRAFER Dagens plan: Minimale spenntrær Prim Kapittel 9.5.1 Kruskal Kapittel 9.5.2 Dybde-først søk Kapittel 9.6.1 Løkkeleting Dobbeltsammenhengende grafer Kapittel 9.6.2 Å finne ledd-noder articulation
DetaljerKorteste vei i en vektet graf uten negative kanter
Dagens plan: IN - Algoritmer og datastrukturer HØSTEN 7 Institutt for informatikk, Universitetet i Oslo IN, forelesning 7: Grafer II Korteste vei, en-til-alle, for: Vektet rettet graf uten negative kanter
DetaljerIN Algoritmer og datastrukturer
IN2010 - Algoritmer og datastrukturer HØSTEN 2018 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 4: Grafer I Ingrid Chieh Yu (Ifi, UiO) INF2010 H2018, forelesning 4 1 / 54
DetaljerGRAFER. Noen grafdefinisjoner. Korteste vei i en uvektet graf V 2 V 1 V 5 V 3 V 4 V 6
IN Algoritmer og datastrukturer GRAER Dagens plan: Kort repetisjon om grafer Korteste, en-til-alle, for: uektede grafer (repetisjon) ektede rettede grafer uten negatie kanter (Dijkstra, kapittel 9..) ektede
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2015 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 5: Grafer I Ingrid Chieh Yu (Ifi, UiO) INF2220 H2015, forelesning 5 1 / 55
DetaljerINF Algoritmer og datastrukturer
N0 - lgoritmer og datastrukturer ØSTN 0 nstitutt for informatikk, Universitetet i Oslo orelesning : rafer ngrid hieh Yu (fi, UiO) N0 0.0.0 / 0 agens plan: ybde-først søk Strongly connected components jesteforelesning:
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2017 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 5: Grafer I Ingrid Chieh Yu (Ifi, UiO) INF2220 H2017, forelesning 5 1 / 53
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2016 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 5: Grafer I Ingrid Chieh Yu (Ifi, UiO) INF2220 H2016, forelesning 5 1 / 49
DetaljerMinimum Spenntrær - Kruskal & Prim
Minimum Spenntrær - Kruskal & Prim Lars Vidar Magnusson 4.4.2014 Kapittel 23 Kruskal algoritmen Prim algoritmen Kruskal Algoritmen Kruskal algoritmen kan beskrives med følgende punkter. Vi har en en sammenkoblet
DetaljerØvingsforelesning 4. Topologisk sortering, Strongly Connected Components og Minimale spenntrær. Magnus Botnan
Øvingsforelesning 4 Topologisk sortering, Strongly Connected Components og Minimale spenntrær Magnus Botnan botnan@stud.ntnu.no 09/10/09 1 I dag Topologisk Sortering Sterke Komponenter Minimale Spenntrær
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2015 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 4: Prioritetskø og Heap Ingrid Chieh Yu (Ifi, UiO) INF2220 H2015, forelesning
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2015 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 4: Prioritetskø og Heap Ingrid Chieh Yu (Ifi, UiO) INF2220 H2015, forelesning
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 11: Huffman-koding & Dynamisk programmering (Ifi, UiO) INF2220 H2015, forelesning 11 1 / 32 Dagens
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 13: Dynamisk programmering (Ifi, UiO) INF2220 H2017, forelesning 13 1 / 30 Dagens plan Dynamisk
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2016 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 4: Prioritetskø og Heap Ingrid Chieh Yu (Ifi, UiO) INF2220 H2016, forelesning
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2017 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 4: Prioritetskø og Heap Ingrid Chieh Yu (Ifi, UiO) INF2220 H2017, forelesning
DetaljerUNIVERSITETET I OSLO
Eksamen i UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamensdag: 13. desember 2011 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 7 sider. Vedlegg: INF2220 lgoritmer og datastrukturer
DetaljerO, what a tangled. Fjerde forelesning. Robot-eksemplet som ikke ble gjennomgått sist blir frivillig selvstudium (ut fra foilene :-)
Dagens oppvarming 1 O, what a tangled Fjerde forelesning Robot-eksemplet som ikke ble gjennomgått sist blir frivillig selvstudium (ut fra foilene :-) O, what a tangled web we weave / When first we practice
DetaljerOppgave 1 LØSNINGSFORSLAG. Eksamen i INF desember Betrakt følgende vektede, urettede graf:
INF100 Algoritmer og datastrukturer INF100 Algoritmer og datastrukturer Oppgave 1 LØSNINGSFORSLAG Betrakt følgende vektede, urettede graf: V 1 V Eksamen i INF100 1. desember 004 V V 4 V 4 V V Ragnar Normann
DetaljerMinimum spenntrær. Lars Vidar Magnusson Kapittel 23. Kruskal Prim
Minimum Spenntrær Lars Vidar Magnusson 2.4.2014 Kapittel 23 Minimum spenntrær Kruskal Prim Minimum Spenntrær Et spenntre er et tre som spenner over alle nodene i en graf G = (V, E). Et minimum spenntre
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF2220 Algoritmer og datastrukturer Eksamensdag: 16. desember 2013 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 8 sider.
DetaljerDagens plan: INF Algoritmer og datastrukturer. Eksempel. Binære Relasjoner
Dagens plan: INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 10: Disjunkte Mengder Definisjon av binær relasjon Definisjon av ekvivalens
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 10: Disjunkte Mengder Bjarne Holen (Ifi, UiO) INF2220 H2009, forelesning 10 1 / 27
DetaljerGrunnleggende Grafteori
Grunnleggende Grafteori 2. September, 2019 Institutt for Informatikk 1 Dagens plan Terminologi og definisjoner Hvordan representere grafer i datamaskinen Traversering Dybde-først-søk Bredde-først-søk Topologisk
DetaljerIN Algoritmer og datastrukturer
IN2010 - Algoritmer og datastrukturer HØSTEN 2018 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 3: Prioritetskø og Heap Ingrid Chieh Yu (Ifi, UiO) INF2010 H2018, forelesning
DetaljerVi skal se på grafalgoritmer for:
Grafalgoritmer Vi skal se på grafalgoritmer for: Traversering: Oppsøk alle nodene i grafen en og bare en gang, på en eller annen systematisk måte Nåbarhet: Finnes det en vei fra en node til en annen node?
DetaljerKORTESTE STI. Vektede Grafer. Korteste Sti. Dijkstra s Algoritme. Vektet Urettet Graf
Vektet Urettet Graf KORTESTE STI Finn: fra en Enkel Kilde til Alle Noder. (Engelsk: Single Source Shortest Path - SSSP) Vektede Grafer vekter på kanter representerer f.eks. avstand, kostnad, båndbredde...
DetaljerPG4200 Algoritmer og datastrukturer Forelesning 10
PG4200 Algoritmer og datastrukturer Forelesning 10 Lars Sydnes, NITH 9. april 2014 NOE Å STUSSE PÅ? Quadratic probing i Hash-tabell: ( ) 2 i + 1 p = p + ( 1) i+1 2 Underforstått forutsetning: Heltallsaritmetikk
DetaljerLøsnings forslag i java In115, Våren 1998
Løsnings forslag i java In115, Våren 1998 Oppgave 1 // Inne i en eller annen klasse private char S[]; private int pardybde; private int n; public void lagalle(int i) if (i==n) bruks(); else /* Sjekker
DetaljerAnvendelser av grafer
Grafer Anvendelser av grafer Passer for modeller/datastrukturer med usystematiske forbindelser Ikke-lineære og ikke-hierarkiske koblinger mellom dataobjektene Modellering av nettverk: Veisystemer/rutekart
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 6: Grafer Bjarne Holen (Ifi, UiO) INF2220 H2009, forelesning 6 1 / 31 Dagens plan:
DetaljerIN2010: Algoritmer og Datastrukturer Series 2
Universitetet i Oslo Institutt for Informatikk S.M. Storleer, S. Kittilsen IN2010: Algoritmer og Datastrukturer Series 2 Tema: Grafteori 1 Publisert: 02. 09. 2019 Utvalgte løsningsforslag Oppgave 1 (Fra
DetaljerNotater til INF2220 Eksamen
Notater til INF2220 Eksamen Lars Bjørlykke Kristiansen December 13, 2011 Stor O notasjon Funksjon Navn 1 Konstant log n Logaritmisk n Lineær n log n n 2 Kvadratisk n 3 Kubisk 2 n Eksponensiell n! Trær
DetaljerINF Algoritmer og datastrukturer. Hva er INF2220? Algoritmer og datastrukturer
Praktiske opplysninger INF2220 - Algoritmer og datastrukturer HØSTEN 2007 Institutt for informatikk, Universitetet i Oslo Tid og sted: Mandag kl. 12:15-14:00 Store auditorium, Informatikkbygningen Kursansvarlige
DetaljerDagens plan. INF Algoritmer og datastrukturer. Koding av tegn. Huffman-koding
Grafer Dagens plan INF2220 - Algoritmer og datastrukturer HØSTEN 2007 Institutt for informatikk, Universitetet i Oslo Avsluttende om grådige algoritmer (kap. 10.1.2) Dynamisk programmering Floyds algoritme
DetaljerVi skal se på grafalgoritmer for:
Grafalgoritmer Vi skal se på grafalgoritmer for: raversering: Nåbarhet: Oppsøk alle nodene i grafen en og bare en gang, på en eller annen systematisk måte innes det en vei fra en node til en annen node?
DetaljerPensum: fra boken (H-03)+ forelesninger
Pensum: fra boken (H-03)+ forelesninger unntatt kursorisk tema KAP. 1 KAP. 2 KAP. 3 JAVA I-110 (ikke gjennomgått) OO + ABSTRAKSJON /GENERISK PROGRAMMERING REKURSJON ALGORITME-TIDSANALYSE; O-NOTASJON KAP.
DetaljerObject [] element. array. int [] tall
Datastrukturer Object [] int [] tall array element 0 1 2 3 4 5 0 1 2 3 4 5 6 7 8 40 55 63 17 22 68 89 97 89 graf lenkeliste graf Object data Node neste Node neste Node neste Node neste Node Node neste
DetaljerINF2220: Forelesning 1. Praktisk informasjon Analyse av algoritmer (kapittel 2) (Binær)trær (kapittel )
INF2220: Forelesning 1 Praktisk informasjon Analyse av algoritmer (kapittel 2) (Binær)trær (kapittel 4.1-4.3 + 4.6) PRAKTISK INFORMASJON 2 Praktisk informasjon Kursansvarlige Ragnhild Kobro Runde (ragnhilk@ifi.uio.no)
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF2220 Algoritmer og datastrukturer Eksamensdag: 16. desember 2013 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 8 sider.
DetaljerALGORITMER OG DATASTRUKTURER
Stud. nr: Side 1 av 7 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap AVSLUTTENDE
DetaljerUNIVERSITETET I OSLO
Eksamen i UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamensdag: 14. desember 2015 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 6 sider. Vedlegg: Tillatte hjelpemidler: INF2220
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 5: Prioritetskø og Heap Bjarne Holen (Ifi, UiO) INF2220 H2009, forelesning 5 1 /
DetaljerØvingsforelesning 7. Dijkstras algoritme. Foiler: Fredrik Ludvigsen Foreleser: Jon Marius Venstad 10/4/09 1
Øvingsforelesning 7 ijkstras algoritme oiler: redrik Ludvigsen oreleser: Jon Marius Venstad 0/4/09 Korteste sti - hvorfor? ksempel på bruk GPS-systemer ilde-krymping (som vist forrige mandag) Routing-protokoller
DetaljerDagens plan: INF Algoritmer og datastrukturer. Grafer vi har sett allerede. Det første grafteoretiske problem: Broene i Königsberg
Dagens plan: INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 6: Grafer Definisjon av en graf Grafvarianter Intern representasjon
DetaljerPensum: fra boken (H-03)+ forelesninger
Pensum: fra boken (H-03)+ forelesninger unntatt kursorisk tema KAP. 1 KAP. 2 KAP. 3 JAVA I-110 (ikke gjennomgått) OO + ABSTRAKSJON /GENERISK PROGRAMMERING REKURSJON ALGORITME-TIDSANALYSE; O-NOTASJON KAP.
DetaljerINF1020 Algoritmer og datastrukturer GRAFER
GRAFER Dagens plan: Definisjon av en graf (kapittel 9.1) Grafvarianter Intern representasjon av grafer (kapittel 9.1.1) Topologisk sortering (kapittel 9.2) Korteste vei, en-til-alle, for: uvektet graf
DetaljerEn litt annen måte å forklare traversering på. Traversering
En litt annen måte å forklare traversering på Traversering 2 def walk(g, s): # Walk the graph from node s P, Q = dict(), set() # Predecessors + "to do" queue P[s] = None # s has no predecessor Q.add(s)
DetaljerALGORITMER OG DATASTRUKTURER
Stud. nr: Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap LØSNINGSFORSLAG,
DetaljerAlg. Dat. Øvingsforelesning 3. Grafer, BFS, DFS og hashing. Børge Rødsjø rodsjo@stud.ntnu.no
Alg. Dat Øvingsforelesning 3 Grafer, BFS, DFS og hashing Børge Rødsjø rodsjo@stud.ntnu.no Dagens tema Grafer Terminologi Representasjon av grafer Bredde først søk (BFS) Dybde først søk (DFS) Hashing Hashfunksjoner,
DetaljerEkstra ark kan legges ved om nødvendig, men det er meningen at svarene skal få plass i rutene på oppgavearkene. Lange svar teller ikke positivt.
Side 1 av 5 Noen viktige punkter: (i) (ii) (iii) (iv) Les hele eksamenssettet nøye før du begynner! Faglærer går normalt én runde gjennom lokalet. Ha evt. spørsmål klare! Skriv svarene dine i svarrutene
DetaljerDet første grafteoretiske problem: Broene i Königsberg
Dagens plan: INF0 - Algoritmer og datastrukturer HØSTEN 007 Institutt for informatikk, Universitetet i Oslo INF0, forelesning 6: Grafer Denisjon av en graf (kap. 9.1) Grafvarianter Intern representasjon
DetaljerFlerveis søketrær og B-trær
Flerveis søketrær og B-trær Flerveis (multi-way, n-ært) søketre Generalisering av binært søketre Binært søketre: Hver node har maksimalt 2 barn og 1 nøkkelverdi. Barna ligger sortert på verdi i forhold
DetaljerEksamensoppgave i TDT4120 Algoritmer og datastrukturer
Eksamensoppgave i TDT4120 Algoritmer og datastrukturer Faglig kontakt under eksamen Magnus Lie Hetland Tlf. 91851949 Eksamensdato 11. august 2014 Eksamenstid (fra til) 0900 1300 Hjelpemiddelkode D. Ingen
DetaljerTrær. En datastruktur (og abstrakt datatype ADT)
Trær Trær En datastruktur (og abstrakt datatype ADT) Trær En datastruktur (og abstrakt datatype ADT) En graf som 8lfredss8ller bestemte krav Object [] int [] tall array element 0 1 2 3 4 5 0 1 2 3 4 5
DetaljerDefinisjon av binært søketre
Binære søketrær Definisjon av binært søketre For alle nodene i et binært søketre gjelder: Alle verdiene i nodens venstre subtre er mindre enn verdien i noden Alle verdiene i nodens høyre subtre er større
DetaljerDisjunkte mengder ADT
Binære relasjoner A A = {(x, y) x, y A}: mengden av ordnede par over A. Disjunkte mengder ADT Weiss kap. 8.1 8.5 Løser ekvivalensproblemet Lett og rask implementasjon Vanskelig tidsforbrukanalyse Ark 1
DetaljerLøsningsforslag for eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 18. Desember 2000, kl
Student nr.: Side 1 av 5 Løsningsforslag for eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 18. Desember 2000, kl 0900-1500 Faglig kontakt under eksamen: Arne Halaas, tlf. 73 593442. Hjelpemidler:
DetaljerEksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 18. Desember 2000, kl
Student nr.: Side 1 av 5 Eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 18. Desember 2000, kl 0900-1500 Faglig kontakt under eksamen: Arne Halaas, tlf. 73 593442. Hjelpemidler: Alle kalkulatortyper
DetaljerLøsningsforslag til eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 14. Desember 1999, kl
Student nr.: Side 1 av 7 Løsningsforslag til eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 14. Desember 1999, kl 0900-1500 Faglig kontakt under eksamen: Arne Halaas, tlf. 73 593442. Hjelpemidler:
DetaljerMAT1030 Diskret Matematikk
MAT1030 Diskret Matematikk Forelesning 26: Trær Roger Antonsen Institutt for informatikk, Universitetet i Oslo 5. mai 2009 (Sist oppdatert: 2009-05-06 22:27) Forelesning 26 MAT1030 Diskret Matematikk 5.
DetaljerUretta grafar (1) Mengde nodar Mengde kantar som er eit uordna par av nodar
Kapittel 13, Grafar Uretta grafar (1) Ein uretta graf Mengde nodar Mengde kantar som er eit uordna par av nodar To nodar er naboar dersom dei er knytta saman med einkant Ein node kan ha kant til seg sjølv.
DetaljerIntroduksjon. MAT1030 Diskret Matematikk. Introduksjon. En graf. Forelesning 22: Grafteori. Roger Antonsen
MAT1030 Diskret Matematikk Forelesning 22: Grafteori Roger Antonsen Institutt for informatikk, Universitetet i Oslo Introduksjon 21. april 2009 (Sist oppdatert: 2009-04-21 15:13) MAT1030 Diskret Matematikk
DetaljerEksamen i fag SIF8010 Algoritmer og datastrukturer Lørdag 9. august 2003, kl
SIF8010 2003-08-09 Stud.-nr: Antall sider: 1 Eksamen i fag SIF8010 Algoritmer og datastrukturer Lørdag 9. august 2003, kl. 0900 1500 Faglig kontakt under eksamen: Arne Halaas, tlf. 41661982; Magnus Lie
DetaljerIntroduksjon. MAT1030 Diskret matematikk. Søkealgoritmer for grafer. En graf
Introduksjon MAT13 Diskret matematikk Forelesning 21: Grafteori Roger Antonsen Matematisk Institutt, Universitetet i Oslo 9. april 28 Vi skal nå over til kapittel 1 & grafteori. Grafer fins overalt rundt
DetaljerMAT1030 Diskret matematikk
MAT1030 Diskret matematikk Forelesning 21: Grafteori Roger Antonsen Matematisk Institutt, Universitetet i Oslo 9. april 2008 Introduksjon Vi skal nå over til kapittel 10 & grafteori. Grafer fins overalt
DetaljerLøsningsforslag for eksamen i fag SIF8010 Algoritmer og datastrukturer Lørdag 9. august 2003, kl
SIF8010 2003-08-09 Stud.-nr: Antall sider: 1 Løsningsforslag for eksamen i fag SIF8010 Algoritmer og datastrukturer Lørdag 9. august 2003, kl. 0900 1500 Faglig kontakt under eksamen: Arne Halaas, tlf.
DetaljerOppgave 3 a. Antagelser i oppgaveteksten. INF1020 Algoritmer og datastrukturer. Oppgave 3. Eksempelgraf
Oppgave 3 3 a IN1020 Algoritmer og datastrukturer orelesning 15: Gjennomgang av eksamen vår 2001 oppgave 3 Arild Waaler Institutt for informatikk, Universitetet i Oslo 11. desember 2006 Oppgave 3 a. Antagelser
DetaljerEksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 14. Desember 1999, kl
Student nr.: Side 1 av 7 Eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 14. Desember 1999, kl 0900-1500 Faglig kontakt under eksamen: Arne Halaas, tlf. 73 593442. Hjelpemidler: Alle kalkulatortyper
DetaljerLP. Leksjon 9: Kapittel 13: Nettverk strøm problemer, forts.2
LP. Leksjon 9: Kapittel 13: Nettverk strøm problemer, forts.2 Vi tar siste runde om (MKS): minimum kost nettverk strøm problemet. Skal oppsummere algoritmen. Se på noen detaljer. Noen kombinatorisk anvendelser
DetaljerLØSNINGSFORSLAG, EKSAMEN I ALGORITMER OG DATASTRUKTURER (IT1105)
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Side 1 av 8 Faglig kontakt under eksamen: Magnus Lie Hetland LØSNINGSFORSLAG, EKSAMEN I ALGORITMER OG DATASTRUKTURER
DetaljerINF1020 Algoritmer og datastrukturer GRAFER
GRAFER Dagens plan: Avsluttende om grådige algoritmer Huffman-koding (Kapittel 10.1.2) Dynamisk programmering Floyds algoritme for korteste vei alle-til-alle (Kapittel 10.3.4) Ark 1 av 16 Forelesning 22.11.2004
DetaljerEksamensoppgave i TDT4120 Algoritmer og datastrukturer
Eksamensoppgave i TDT4120 Algoritmer og datastrukturer Faglig kontakt under eksamen Magnus Lie Hetland Tlf. 91851949 Eksamensdato 11. august 2014 Eksamenstid (fra til) 0900 1300 Hjelpemiddelkode D. Ingen
DetaljerHeapsort. Lars Vidar Magnusson Kapittel 6 Heaps Heapsort Prioritetskøer
Heapsort Lars Vidar Magnusson 24.1.2014 Kapittel 6 Heaps Heapsort Prioritetskøer Sorterings Problemet Sorterings problemet er et av de mest fundementalske problemene innen informatikken. Vi sorterer typisk
DetaljerGrunnleggende Grafalgoritmer III
Grunnleggende Grafalgoritmer III Lars Vidar Magnusson 26.3.2014 Kapittel 21 og 22 Usammenhengende-sett Strongly-connected components Usammenhengende Sett Usammenhengende sett er ikke en grafalgoritme i
DetaljerUke 5 Disjunkte mengder
Uke 5 Disjunkte mengder MAW, kap.. 8 September 19, 2005 Page 1 Hittil Forutsetninger for og essensen i faget Metodekall, rekursjon, permutasjoner Analyse av algoritmer Introduksjon til ADT er Den første
DetaljerEksamensoppgave i TDT4120 Algoritmer og datastrukturer
Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT0 Algoritmer og datastrukturer Faglig kontakt under eksamen Magnus Lie Hetland Telefon 98 5 99 Eksamensdato 7. desember, 06 Eksamenstid
DetaljerEksamensoppgave i TDT4120 Algoritmer og datastrukturer
Eksamensoppgave i TDT4120 Algoritmer og datastrukturer Faglig kontakt under eksamen Magnus Lie Hetland Tlf.!! 91851949 Eksamensdato! 15. august 2013 Eksamenstid (fra til)! 0900 1300 Hjelpemiddelkode D.
DetaljerAlg. Dat. Øvingsforelesning 3. Grafer, BFS, DFS og hashing
Alg. Dat Øvingsforelesning 3 Grafer, BFS, DFS og hashing Dagens tema Grafer Terminologi Representasjon av grafer Bredde først søk (BFS) Dybde først søk (DFS) Hashing Hashfunksjoner, hashtabeller Kollisjonshåndtering
DetaljerMAT1030 Forelesning 22
MAT1030 Forelesning 22 Grafteori Roger Antonsen - 21. april 2009 (Sist oppdatert: 2009-04-21 15:13) Introduksjon Introduksjon Vi skal nå over til kapittel 10 & grafteori. Grafer fins overalt rundt oss!
DetaljerEKSAMEN med løsningsforslag
EKSAMEN med løsningsforslag Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: Eksamenstid: 20. mai 2009 kl 09.00 til kl 13.00 Hjelpemidler: 8 A4-sider (4 ark) med egne notater Kalkulator Faglærer:
DetaljerBinære søketrær. Et notat for INF1010 Stein Michael Storleer 16. mai 2013
Binære søketrær Et notat for INF Stein Michael Storleer 6. mai 3 Dette notatet er nyskrevet og inneholder sikkert feil. Disse vil bli fortløpende rettet og datoen over blir oppdatert samtidig. Hvis du
DetaljerDefinisjon: Et sortert tre
Binære søketrær Definisjon: Et sortert tre For alle nodene i et binært søketre gjelder: Alle verdiene i nodens venstre subtre er mindre enn verdien i noden Alle verdiene i nodens høyre subtre er større
DetaljerSensorveiledning/løsningsforslag IN2010/INF2220 Algoritmer og datastrukturer H2018 Ragnhild Kobro Runde, Stein Michael Storleer, Ingrid Chieh Yu
Sensorveiledning/løsningsforslag IN2010/INF2220 Algoritmer og datastrukturer H2018 Ragnhild Kobro Runde, Stein Michael Storleer, Ingrid Chieh Yu Generell informasjon Alle besvarelser rettes av to sensorer.
DetaljerO, what a tangled. Fjerde forelesning. O, what a tangled web we weave / When first we practice to deceive! Sir Walter Scott, *Marmion*
O, what a tangled Fjerde forelesning O, what a tangled web we weave / When first we practice to deceive! Sir Walter Scott, *Marmion* 1 Bruk av verktøy som rekursjon, induksjon, etc. er mer implisitt denne
DetaljerAlgdat - øvingsforelesning
Algdat - øvingsforelesning Topologisk sortering og minimale spenntrær Nils Barlaug Dagens plan 1. 2. 3. 4. 5. Praktisk og dagens plan Topologisk sortering Minimale spenntrær a. Kruskal b. Prim Tips til
DetaljerMagnus Moan (Undertegnede) Enkle datastrukturer, trær, traversering og rekursjon
1 Enkle datastrukturer, trær, traversering og rekursjon Magnus Moan (Undertegnede) algdat@idi.ntnu.no Enkle datastrukturer, trær, traversering og rekursjon 2 Dagens plan Praktisk Enkle datastrukturer Stack
DetaljerGrunnleggende Grafalgoritmer
Grunnleggende Grafalgoritmer Lars Vidar Magnusson 19.3.2014 Kapittel 22 Representere en graf Bredde-først søk Grafer i Informatikken Problem med grafer går ofte igjen i informatikkens verden, så det å
DetaljerDijkstras algoritme Spørsmål
:: Forside s algoritme Åsmund Eldhuset asmunde *at* stud.ntnu.no folk.ntnu.no/asmunde/algdat/dijkstra.pdf :: Vi er ofte interessert i å finne korteste, raskeste eller billigste vei mellom to punkter Gods-
DetaljerKombinatorikk. MAT1030 Diskret Matematikk. Oppsummering av regneprinsipper
MAT1030 Diskret Matematikk Forelesning 22: Grafteori Dag Normann Matematisk Institutt, Universitetet i Oslo Kombinatorikk 14. april 2010 (Sist oppdatert: 2010-04-14 12:43) MAT1030 Diskret Matematikk 14.
DetaljerMAT1030 Diskret Matematikk
MAT1030 Diskret Matematikk Forelesning 22: Grafteori Dag Normann Matematisk Institutt, Universitetet i Oslo 14. april 2010 (Sist oppdatert: 2010-04-14 12:42) Kombinatorikk MAT1030 Diskret Matematikk 14.
DetaljerEksamen iin115, 14. mai 1998 Side 2 Oppgave 1 15 % Du skal skrive en prosedyre lagalle som i en global character array S(1:n) genererer alle sekvenser
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 115 Algoritmer og datastrukturer Eksamensdag: 14. mai 1998 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 8 sider. Vedlegg:
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 13: Eksamensgjennomgang Bjarne Holen (Ifi, UiO) INF2220 H2009, forelesning 13 1 /
DetaljerHøgskoleni østfold EKSAMEN. 4 dobbeltsidige ark med notater Lars Magnusson
Høgskoleni østfold EKSAMEN Emnekode: ITF 20006 Emne: Algoritmer og Datastrukturer Dato: 22.05.2015 Eksamenstid: kl 09.00 til kl 13.00 Hjelpemidler: Faglærer: 4 dobbeltsidige ark med notater Lars Magnusson
DetaljerTrær. Består av sammenkoblede noder Hver node har 0 eller flere barne-noder. Må være asyklisk. Et tre med n noder har n-1 kanter.
Generelle trær: Trær Består av sammenkoblede noder Hver node har 0 eller flere barne-noder. Må være asyklisk. Et tre med n noder har n-1 kanter. løvnoder kant rotnode sub-tre 1 Generelle trær: Oppbygging
Detaljer