grafalgoritmer gjennomgang

Denne begrepslisten dekker grunnleggende og avanserte konsepter innen grafalgoritmer, inkludert algoritmer, datastrukturer og anvendelser.

WilliamHageno1·40 flashkort·40 spørsmål
universitetcomputer_sciencealgorithms
0
Kjent
1 / 40
0
Lærer
Forside

Hva er en graf?

Trykk for å vende
Bakside

En graf er en samling av noder (eller hjørner) og kanter som forbinder disse nodene. Den representerer relasjoner mellom objekter.

Trykk for å vende
Skjønner
Lærer fortsatt

Quiz(40 spørsmål)

Spørsmål 1 av 40

1. Hva beskriver en graf i grafteori?

Begreper i dette studiesettet(40)

Grunnleggende grafbegreper(12)

Hva er en graf?

En graf er en samling av noder (eller hjørner) og kanter som forbinder disse nodene. Den representerer relasjoner mellom objekter.

Noder vs. Kanter

Noder: punkter i grafen. Kanter: forbindelser mellom noder. - Noder representerer objekter. - Kanter representerer relasjoner.

Definer en rettet graf.

En rettet graf har kanter med en spesifikk retning, fra en node til en annen. Retningen angir forholdet mellom nodene.

Fyll ut: En graf med ingen kanter er en ____.

En graf med ingen kanter er en 'isolert graf'.

Er en komplett graf alltid koblet?

Sant. En komplett graf har en kant mellom hver par av noder, dermed er den alltid sammenkoblet.

Forklar en koblet graf.

En koblet graf er en graf der det finnes en sti mellom ethvert par av noder. Hvis noen noder ikke er forbundet, er grafen ikke koblet.

Hva er en vekting i grafteori?

En vekting er en verdi som tilordnes til en kant i en graf, ofte brukt til å representere kostnader eller avstander.

Definer en urettet graf.

En urettet graf har kanter uten retning. Forbindelsen mellom noder er symmetrisk, det vil si at hvis A er koblet til B, så er også B koblet til A.

Hva er en undergraf?

En undergraf er en graf som er dannet ved å ta et utvalg av noder og kanter fra en større graf. Den beholder strukturen til den opprinnelige grafen.

Forklar begrepet grad i grafteori.

Graden av en node er antallet kanter som er koblet til den. I en rettet graf skiller vi mellom inn-grad og ut-grad.

Hva er en syklus i en graf?

En syklus er en sti i grafen som begynner og slutter i samme node, og hvor ingen andre noder gjentas.

Er en graf med 5 noder og 4 kanter alltid koblet?

Ikke nødvendigvis. En graf kan ha færre enn n-1 kanter og likevel være ikke-koblet.

Grafalgoritmer(16)

DFS (Dybde-først søk) → hva gjør det?

DFS traverserer dypere i en graf før det går tilbake. Det besøker en node, og deretter rekurserer til den første nabonoden inntil det ikke er flere uutforskede noder.

BFS (Bredde-først søk) vs DFS?

BFS utforsker noder på samme nivå før det går dypere, mens DFS går dypere før det backtracker. BFS gir korteste vei i uvektede grafer, mens DFS ikke garanterer dette.

Kurtzalgoritmen → hva brukes den til?

Kurtzalgoritmen brukes til å finne den korteste veien fra en kilde til alle noder i en vektet graf med ikke-negative vekter.

Er Dijkstra’s algoritme alltid korrekt?

Ja, Dijkstra’s algoritme er korrekt for grafer med ikke-negative vekter, men den fungerer ikke med negative vekter.

Fill in the blank: Prim’s algoritme brukes til ____ .

Prim’s algoritme brukes til å finne minimal spanning tree (MST) i en vektet graf.

A*-algoritmen vs Dijkstra’s algoritme?

A*-algoritmen legger til en heuristisk komponent som hjelper i søket, og gir ofte raskere resultater enn Dijkstra’s algoritme.

Grafrepresentasjon: matrise vs liste?

Inngangsmatrise krever O(V^2) plass, mens nabonodeliste krever O(E + V) plass. Liste er mer effektiv for sparse grafer.

Bellman-Ford algoritme → hva gjør den?

Bellman-Ford finner korteste vei fra en kilde til alle noder, også i grafer med negative vekter, men uten negative sykluser.

Er det sant at DFS kan brukes til topologisk sortering?

Ja, DFS kan brukes til topologisk sortering av en aktsyklist graf ved å lagre noder i en stakk.

Hva er en aktsyklist graf?

En aktsyklist graf er en graf uten sykluser. Den kan inneholde rettede eller urettede kanter, men har ingen sirkler.

Fordeler med BFS?

BFS finner korteste vei i uvektede grafer, oppdager nivåer av noder, og er enkel å implementere ved bruk av kø.

Kruskal's algoritme → hva finner den?

Kruskal's algoritme finner Minimum Spanning Tree (MST) ved å bruke en sortert liste av kanter og en union-find datastruktur.

Hvorfor brukes heuristikker i A*-algoritmen?

Heuristikker brukes i A*-algoritmen for å estimere den gjenstående kostnaden, noe som kan redusere søketid og informere neste valg.

Hva er en syklus i en graf?

En syklus er en sti i en graf som starter og slutter ved samme node uten å besøke noen noder mer enn én gang.

Tidskompleksitet av Dijkstra's algoritme med prioritetskø?

Tidskompleksiteten av Dijkstra's algoritme er O((E + V) imes ext{log} V) når den implementeres med en prioritetskø.

Forbindelse mellom grafer og nettverk?

Grafer brukes til å representere nettverk, hvor noder er punkter og kanter representerer forbindelser eller relasjoner.

Anvendelser av grafalgoritmer(12)

Transportnettverk →

Grafalgoritmer brukes til optimalisering av ruter for transport, som i logistikk for å finne den korteste veien mellom lagre og kunder.

Spillteori →

Grafalgoritmer kan modellere strategiske interaksjoner mellom spillere i konkurranse- eller samarbeidsspill.

Sosiale nettverk →

Kan brukes til å analysere forbindelser mellom brukere, finne innflytelsesrike personer og optimalisere innholdsspredning.

Hvorfor er Dijkstra's algoritme viktig?

Den finner den korteste stien i et grafisk nettverk, essensielt for navigasjonsapper og ruteplanlegging.

Sanntidsruting →

Bruker grafalgoritmer for å tilpasse ruter basert på sanntidsdata om trafikk og hendelser.

Er Kruskal's algoritme alltid optimal?

True. Den gir alltid minimum kostnad for å forbinde noder i en graf uten sykluser.

Fyll ut: Grafalgoritmer kan brukes i ________ for å analysere transportnettverk.

logistikk

Søkning i graf →

BFS og DFS er grafalgoritmer for å utforske noder, viktige for oppgaveløsning og AI.

Anvendelser av minimum spanning tree? →

Brukes i nettverksdesign, som å legge kabler eller rørledninger med minimal kostnad. Eksempler: Kruskal's, Prim's.

True or False: Grafalgoritmer brukes ikke i dataspill.

False. Grafalgoritmer er essensielle for AI-bevegelse og kartdesign.

Optimalisering av ressurser →

Grafalgoritmer kan minimere kostnader og maksimere effektivitet i ressursfordeling og prosjektledelse.

Hva brukes A* algoritmen til?

Den brukes i navigasjon og søk, da den kombinerer Dijkstra's metode med heuristisk informasjon for raskere resultater.

Spørsmål i dette studiesettet(40)

1. Hva beskriver en graf i grafteori?

A.En samling av noder og kanter
B.En type algoritme for sortering
C.Et sett med tilfeldige tall
D.En statistisk analyse av data

2. Hva gjør Dybde-først søk (DFS) når det besøker en node?

A.Rekurserer til den første nabonoden
B.Lager en liste over alle noder
C.Avslutter søket
D.Returnerer til startnoden

3. Hva er en viktig anvendelse av grafalgoritmer i transportsektoren?

A.Optimalisering av ruter
B.Design av grafiske brukergrensesnitt
C.Koding av videospill
D.Databasesøk

4. Hva er en viktig egenskap ved noder i en graf?

A.De representerer objekter
B.De kan aldri være isolerte
C.De har alltid en vekting
D.De må alltid ha kanter

5. Hvilket utsagn er korrekt om Bredde-først søk (BFS)?

A.BFS utforsker noder på samme nivå først
B.BFS går alltid dypere før det backtracker
C.BFS er mer effektiv enn DFS i alle tilfeller
D.BFS kan ikke brukes med store grafer

6. Hvilken grafalgoritme er spesielt nyttig for å finne den korteste veien i et nettverk?

A.Dijkstra's algoritme
B.Kruskal's algoritme
C.Prim's algoritme
D.Ford-Fulkerson algoritme

7. Hvilken type graf har kanter med spesifikke retninger?

A.Retter graf
B.Urettet graf
C.Komplett graf
D.Koblet graf

8. Kurtzalgoritmen er nyttig for å:

A.Finde den korteste veien til alle noder i en vektet graf
B.Beregn minimum spanning tree
C.Optimalisere A*-algoritmen
D.Utføre dybde-først søk

9. Hvordan brukes grafalgoritmer i sosiale nettverk?

A.For å sortere bilder
B.For å analysere forbindelser mellom brukere
C.For å lage videoer
D.For å designe annonser

10. Hva kalles en graf uten kanter?

A.Isolert graf
B.Koblet graf
C.Vektet graf
D.Komplett graf

11. Dijkstra’s algoritme kan ikke brukes med:

A.Negative vekter
B.Uvektede grafer
C.Ikke-sammenhengende grafer
D.Positive vekter

12. Hvilken av følgende algoritmer gir alltid minimum kostnad for å forbinde noder i en graf uten sykluser?

A.Kruskal's algoritme
B.Dijkstra's algoritme
C.Bellman-Ford algoritme
D.A* algoritme

13. Er alle komplette grafer koblet?

A.Ja, de har kanter mellom alle noder
B.Nei, de kan være isolerte
C.Ja, men kun i rettede grafer
D.Nei, de kan ha flere noder uten kanter

14. Hva er formålet med Prim’s algoritme?

A.Finne minimum spanning tree
B.Vurdere vektene i en graf
C.Sortere noder i en graf
D.Finne korteste vei i uvektede grafer

15. Hvilket scenario er A* algoritmen best egnet for?

A.Optimalisering av produksjonslinjer
B.Navigasjon og søkeforbedringer
C.Databasedesign
D.Kryptering av data

16. Hva kjennetegner en koblet graf?

A.Det er en sti mellom alle noder
B.Alle noder har lik grad
C.Grafen har ingen noder
D.Grafen har alltid en syklus

17. Hvordan er A*-algoritmen forskjellig fra Dijkstra’s algoritme?

A.A*-algoritmen inkluderer en heuristisk komponent
B.Dijkstra's algoritme er raskere
C.A*-algoritmen kan ikke brukes i vektede grafer
D.De er identiske i utførelse

18. Hvilken type grafalgoritme brukes til å utforske noder i en graf?

A.BFS og DFS
B.Kruskal's og Prim's
C.Dijkstra's algoritme
D.A* algoritme

19. Hva er meningen med vekting i grafteori?

A.Det representerer kostnader eller avstander
B.Det angir hvor mange noder en graf kan ha
C.Det viser hvordan noder er rangert
D.Det er en metode for å telle kanter

20. Hvilken grafrepresentasjon krever mest plass?

A.Inngangsmatrise
B.Nabonodeliste
C.Hash-tabell
D.Kantliste

21. Hvilken anvendelse er IKKE typisk for grafalgoritmer?

A.Nettverksdesign
B.Optimalisering av ressurser
C.Bildebehandling
D.Sanntidsruting

22. Hva er en urettet graf?

A.En graf med kanter uten retning
B.En graf med retter kanter
C.En graf med kun én node
D.En graf med avvikende vekting

23. Hva finner Bellman-Ford algoritmen?

A.Korteste vei i grafer med negative vekter
B.Minimum spanning tree
C.Shortest path i uvektede grafer
D.Alle noder i en graf

24. Hvilken algoritme brukes for å minimere kostnader i nettverksdesign?

A.Prim's algoritme
B.Bubble sort
C.Depth-First Search
D.Kruskal's algoritme

25. Hva er en undergraf?

A.En delmengde av noder og kanter fra en større graf
B.En graf med alle noder og ingen kanter
C.En graf med høyere grad enn originalen
D.En graf som inneholder sykluser

26. Kan DFS brukes til topologisk sortering?

A.Ja, det kan brukes i aktsyklist grafer
B.Nei, det fungerer ikke med grafer
C.Bare hvis grafen har negative vekter
D.Kun for urettede grafer

27. Hva er en typisk anvendelse av minimum spanning tree?

A.Routing av pakker på internett
B.Koding av applikasjoner
C.Nettverksdesign for kabler
D.Oppretting av databaser

28. Hva betyr graden av en node i grafteori?

A.Antall kanter koblet til noden
B.Antall noder i grafen
C.Kostnaden for å nå noden
D.Antall sykluser i grafen

29. Hva er en aktsyklist graf?

A.En graf uten sykluser
B.En graf med minst én syklus
C.En rettet graf
D.En graf med uendelig mange kanter

30. Hvordan kan grafalgoritmer bidra til sanntidsruting?

A.Ved å analysere trafikkdata
B.Ved å redigere bilder
C.Ved å lage spill
D.Ved å kode nettsider

31. Hva kjennetegner en syklus i en graf?

A.En sti som begynner og slutter i samme node
B.En graf uten noder
C.En graf med høy grad
D.En graf med alle kanter rettet

32. Hva er en fordel med BFS?

A.Finner korteste vei i uvektede grafer
B.Har lavere tidskompleksitet enn DFS
C.Bruker mindre minne enn DFS
D.Kan brukes i alle typer grafer

33. Hva er en fordel med å bruke grafalgoritmer i spillteori?

A.De kan modellere strategiske interaksjoner
B.De forbedrer grafikkvalitet
C.De reduserer filstørrelser
D.De forenkler programmering

34. Kan en graf med 5 noder og 4 kanter være koblet?

A.Ikke nødvendigvis
B.Ja, alltid
C.Ja, men bare i rettede grafer
D.Nei, kan ikke ha færre

35. Hva gjør Kruskal's algoritme?

A.Finner Minimum Spanning Tree
B.Finnes korteste vei i en graf
C.Lager en nabonodeliste
D.Sorterer noder i en graf

36. Hvilken grafalgoritme er mest kjent for å håndtere ruteoptimalisering?

A.Dijkstra's algoritme
B.Kruskal's algoritme
C.Prim's algoritme
D.Breadth-First Search

37. Hvorfor brukes heuristikker i A*-algoritmen?

A.For å estimere gjenstående kostnad
B.For å beskytte mot sykluser
C.For å finne alle noder
D.For å optimalisere minnebruk

38. Hva er en syklus i en graf?

A.En sti som starter og slutter ved samme node
B.En kant mellom to noder
C.En gruppe av noder uten kanter
D.En rettet graf

39. Hva er tidskompleksiteten av Dijkstra's algoritme med prioritetskø?

A.O((E + V) log V)
B.O(V^2)
C.O(E)
D.O(V log V)

40. Hva er forbindelsen mellom grafer og nettverk?

A.Grafer representerer nettverk
B.Nettverk kan ikke representeres som grafer
C.Grafer er kun for urettede kanter
D.Nettverk er alltid vektede

Relaterte studiesett

Lag ditt eget studiesett

Last opp en PDF, lim inn notatene dine, eller beskriv et tema – AI genererer flashkort, quizer og mer på sekunder.