Typer grafer i datastruktur med eksempler

En graf er en ikke-lineรฆr datastruktur som bestรฅr av hjรธrner og kanter. Toppene inneholder informasjonen eller dataene, og kantene fungerer som en kobling mellom par av hjรธrner.
Grafer kan vรฆre av flere typer, avhengig av plasseringen av nodene og kantene. Her er noen viktige typer grafer:
Regissert graf
Kantene pรฅ den rettede grafen inneholder piler som betyr retningen. Pilen bestemmer hvor kanten peker mot eller slutter.
Her er et eksempel pรฅ Directed Graph.

- Vi kan gรฅ fra node A til D.
- Vi kan imidlertid ikke gรฅ fra node D til node A da kanten peker fra A til D.
- Siden grafen ikke har vekter, vil det รฅ reise fra toppunkt A til D koste det samme som รฅ reise fra D til F.
Udirigert graf
Udirigert graf inneholder kanter uten pekere. Det betyr at vi kan reise omvendt mellom to hjรธrner.
Her er et enkelt eksempel pรฅ den urettede grafen.

I grafen ovenfor,
- Vi kan gรฅ fra A til B
- Vi kan ogsรฅ flytte fra B til A
- Kanter inneholder ingen retninger.
Det er et eksempel pรฅ en urettet graf som har et begrenset antall hjรธrner og kanter uten vekter.
Vektet graf
Graf som inneholder vekter eller kostnader pรฅ kantene kalles en vektet graf. Den numeriske verdien representerer vanligvis flyttekostnaden fra ett toppunkt til et annet toppunkt. Bรฅde Directed og Undirected Graph kan ha vekter pรฅ kantene.
Her er et eksempel pรฅ en vektet graf (rettet).

- A til B, det er en kant, og vekten er 5, noe som betyr รฅ flytte fra A til B vil koste oss 5.
- Et punkt til B, men i denne grafen har B ingen direkte kant over A. Sรฅ vi kan ikke reise fra B til A.
- Men hvis vi รธnsker รฅ flytte fra A til F, er det flere veier. Banene er ADF, ABF. ADF vil koste (10+11) eller 21.
- Her vil banen ABF koste (5+15) eller 20. Her legger vi til vekten av hver kant i banen.
Her er et eksempel pรฅ en urettet graf med vekter:

Her har kanten vekt, men ingen retning. Sรฅ det betyr at รฅ reise fra toppunkt A til D vil koste 10 og omvendt.
Toveis graf
Toveis og urettede grafer har en felles egenskap. Det vil si
- Vanligvis kan den urettede grafen ha รฉn kant mellom to toppunkter.
For eksempel:
- Her vil det รฅ flytte fra A til D eller D til A koste 10.
- I en toveis graf kan vi ha to kanter mellom to hjรธrner.
Her er et eksempel:

ร reise fra A til D vil koste oss 17, men รฅ reise fra D til A vil koste oss 12. Sรฅ vi kan ikke tilordne to forskjellige vekter hvis det er en urettet graf.
Uendelig graf
Grafen vil inneholde et uendelig antall kanter og noder. Hvis en graf er uendelig og den ogsรฅ er en tilkoblet graf, vil den ogsรฅ inneholde et uendelig antall kanter. Her betyr de utvidede kantene at flere kanter kan kobles til disse nodene via kanter.
Her er et eksempel pรฅ den uendelige grafen:

Null graf
Null Graph inneholder bare noder eller hjรธrner, men uten kanter. Hvis gitt en graf G = (V, E), der V er hjรธrner og E er kanter, vil den vรฆre null hvis antall kanter E er null.
Her er et eksempel pรฅ en null-graf:

Triviell graf
En grafdatastruktur anses som triviell hvis bare ett toppunkt eller node er til stede uten kanter.
Her er et eksempel pรฅ en trivial graf:
Multi Graph
En graf kalles en multigraf nรฅr flere kanter er tilstede mellom to toppunkter, eller toppunktet har en lรธkke. Begrepet "lรธkke" i Graph Data Structure betyr en kant som peker til samme node eller toppunkt. Multigraf kan vรฆre rettet eller urettet.
Her er et eksempel pรฅ en multigraf:
Det er to kanter fra B til A. I tillegg har toppunktet E en selvlรธkke. Grafen ovenfor er en rettet graf uten vekter pรฅ kantene.
Komplett graf
En graf er komplett hvis hvert toppunkt har rettede eller urettede kanter med alle andre toppunkter.
Anta at det er et totalt V-antall toppunkter og hvert toppunkt har nรธyaktig V-1-kanter. Da vil denne grafen bli kalt en komplett graf. I denne typen grafer er hvert toppunkt koblet til alle andre toppunkter via kanter.
Her er et eksempel pรฅ en komplett graf med fem hjรธrner:
Du kan se pรฅ bildet det totale antallet noder er fem, og alle nodene har nรธyaktig fire kanter.
Tilkoblet graf
En graf kalles en tilkoblet graf hvis vi starter fra en node eller toppunkt og reiser alle nodene fra startnoden. For dette bรธr det vรฆre minst รฉn kant mellom hvert par av noder eller hjรธrner.
Her er et eksempel pรฅ en tilkoblet graf:
Her er noen forklaringer pรฅ grafen ovenfor "komplett grafeksempel":
- Forutsatt at det ikke er noen kant mellom C og F, kan vi ikke reise fra A til G. Imidlertid gjรธr kanten C til F oss i stand til รฅ reise til en hvilken som helst node fra en gitt node.
- En komplett graf er en koblet graf fordi vi kan flytte fra en node til en hvilken som helst annen node i den gitte grafen.
Syklisk graf
En graf sies รฅ vรฆre syklisk hvis det er en eller flere sykluser til stede i grafen.
Her er et eksempel pรฅ en syklisk graf:
Her danner toppunkt A, B og C en syklus.
En graf kan ha flere sykluser inni seg.
Regissert syklisk graf (DAG)
En graf kalles Directed Acyclic Graph eller DAG hvis det ikke er noen sykluser inne i en graf. DAG er viktig mens du gjรธr Topologisk sortering eller finne henrettelsesordren. DAG er ogsรฅ viktig for รฅ lage planleggingssystemer eller skanningsavhengighet av ressurser osv. Imidlertid inneholder grafen ovenfor ikke noen syklus inne.
Her er et enkelt eksempel pรฅ en rettet asyklisk graf (DAG):
Syklusgraf
Cycle Graph er ikke det samme som den sykliske grafen. I Cycle Graph vil hver node ha nรธyaktig to kanter koblet sammen, noe som betyr at hver node vil ha nรธyaktig to grader.
Her er et eksempel pรฅ en syklusgraf:
Todelt graf
Slike grafer er spesielle typer grafer der toppunktene er tilordnet to sett.
Bipartite Graph mรฅ fรธlge regelen:
- To sett med toppunkter bรธr vรฆre forskjellige, noe som betyr at alle toppunktene mรฅ deles inn i to grupper eller sett.
- Samme sett Vertices skal ikke danne noen kanter.
Euler graf
Grafdatastrukturer betraktes som en Euler-graf hvis alle toppunktene har en partallsgrad. Begrepet grad av toppunkter betyr antall kanter som peker til eller peker ut fra et bestemt toppunkt.
Her er et eksempel pรฅ en Euler-graf:
Alle toppunktene har jevne grader. Toppunkt A, D, E og H har to grader. Her har node C fire grader, som er partall.
Hamilton-graf
Hamilton Graph er en Connect Graph, der du kan besรธke alle toppunktene fra et gitt toppunkt uten รฅ gรฅ tilbake til samme node eller bruke samme kant. Denne typen Connected Graph er kjent som "Hamilton Graph". Banen du besรธker for รฅ bekrefte om den gitte grafen er Hamilton-graf eller ikke, er kjent som Hamiltonsk bane.
Her er et enkelt grafeksempel pรฅ en Hamilton:
I dette bildet kan vi besรธke alle toppunktene fra hvilken som helst node i grafen ovenfor. En av stiene kan vรฆre ADCHBE. Det er ogsรฅ mulig รฅ finne en Hamilton Cycle. Hamilton-syklusen starter og slutter ved samme toppunkt. Sรฅ Hamilton-syklusen blir det ADCHBEA.











