Graf datastruktur og Algorithms (Eksempel)

Hvad er en graf i datastruktur?

En graf er en ikke-lineรฆr datastruktur, der bestรฅr af toppunkter og kanter, hvor toppunkter indeholder informationen eller dataene, og kanterne fungerer som et bindeled mellem par af toppunkter.

Det bruges til at lรธse rigtige ordproblemer som at finde den bedste rute til destinationsstedet og ruten til telekommunikation og sociale netvรฆrk. Brugere betragtes som en node i grafen, og ledningerne er de kanter, der forbinder brugerne.

Hvis kanter er reprรฆsenteret som E og hjรธrner er reprรฆsenteret som V, sรฅ kan grafen G skrives som mรฆngden af โ€‹โ€‹hjรธrner og kanter, som f.eks. G (V, E)

Eksempel pรฅ graf i datastruktur

Her er et simpelt eksempel pรฅ grafdatastruktur:

Eksempel pรฅ graf i datastruktur

Det er en simpel urettet graf (en slags graf). Her er sรฆttet af toppunkt: {A, B, C,D,E,F}. To hjรธrner skaber en kant. For eksempel er A og B forbundet med en kant. A og F er dog ikke forbundet med nogen kanter.

Grafterminologier i datastruktur

Fรธlgende er nogle vigtige udtryk, der bruges i grafdatastruktur:

Semester Beskrivelse
Vertex Alle dataelementer kaldes et vertex eller en node. I ovenstรฅende billede er A, B, C, D & E hjรธrnerne.
Kant (bue) Forbindende forbindelser mellem to noder eller toppunkter kaldes kant (Arc). Den har to ender og er reprรฆsenteret som (startendeVertex, endingVertex).
Udirigeret kant Det er en tovejs kant.
Instrueret Edge Det er en ensrettet kant.
Vรฆgtet kant En kant med vรฆrdi pรฅ.
Degree I Graph kaldes antallet af kanter forbundet med et toppunkt en grad.
Indegree Det samlede antal indkommende kanter forbundet til et toppunkt.
Udgrade Det samlede antal udgรฅende kanter forbundet til et toppunkt.
Selvlรธkke En kant kaldes en selvlรธkke, hvis dens to endepunkter falder sammen.
Tilknytning Hjรธrner siges at vรฆre tilstรธdende, hvis en kant er forbundet.

Typer af grafer i datastruktur

Her er listen over de mest almindelige typer af grafer i datastrukturen:

  • Instrueret graf
  • Udirigeret graf
  • Vรฆgtet graf
  • Tovejs graf
  • Uendelig graf
  • Nul graf
  • Triviel graf
  • Multi graf
  • Komplet graf
  • Forbundet graf
  • Cyklisk graf
  • Instrueret acyklisk graf (DAG)
  • Cyklus graf
  • Bipartitegraf
  • Euler graf
  • Hamilton graf

Anvendelser af grafdatastruktur

En graf har mange use cases. Der er mange algoritmer, der bruger Graphs meget. Her er nogle af grafens applikationer:

  • Google Maps bruger grafer til at finde skรฆringspunktet mellem to veje og beregne afstanden mellem to steder.
    For eksempel: Dijkstra, for at finde den korteste afstand mellem kilde og destination.
  • Facebook bruger Graphs til at finde brugernes fรฆlles ven. Dens algoritme betragter hver bruger som en knude pรฅ en graf.
  • Til ressourceallokering anvendes DAG (Direct Acyclic Graph). Det kontrollerer ressourcernes afhรฆngighed.
  • Google Search Engine bruger grafer til at skabe placeringen for websteder.
  • En kortlรฆgningsenhed bruger grafdatastrukturen.
  • router og t's protokol bruger grafen til at lรฆre stien til destinationsstien.

Opsummer dette indlรฆg med: