Vrste grafova u strukturi podataka s primjerima

Vrste grafova u strukturi podataka

Graf je nelinearna podatkovna struktura koja se sastoji od vrhova i bridova. Vrhovi sadrลพe informacije ili podatke, a rubovi djeluju kao poveznica izmeฤ‘u para vrhova.

Grafovi mogu biti viลกe vrsta, ovisno o poloลพaju ฤvorova i rubova. Evo nekoliko vaลพnih vrsta grafikona:

Usmjereni graf

Rubovi usmjerenog grafa sadrลพe strelice koje oznaฤavaju smjer. Strelica odreฤ‘uje gdje je rub usmjeren ili zavrลกava.

Evo primjera usmjerenog grafa.

Usmjereni graf
Usmjereni graf
  • Moลพemo iฤ‡i od ฤvora A do D.
  • Meฤ‘utim, ne moลพemo iฤ‡i od ฤvora D do ฤvora A jer rub pokazuje od A do D.
  • Kako Graf nema teลพine, putovanje od vrha A do D ฤ‡e koลกtati isto kao i putovanje od D do F.

Neusmjereni graf

Neusmjereni graf sadrลพi rubove bez pokazivaฤa. To znaฤi da moลพemo putovati obrnuto izmeฤ‘u dva vrha.

Evo jednostavnog primjera neusmjerenog grafa.

Neusmjereni graf
Neusmjereni graf

U gornjem grafikonu,

  • Moลพemo prijeฤ‡i od A do B
  • Takoฤ‘er moลพemo prijeฤ‡i iz B u A
  • Rubovi ne sadrลพe smjerove.

To je primjer neusmjerenog grafa koji ima konaฤan broj vrhova i bridova bez teลพine.

Ponderirani grafikon

Graf koji sadrลพi teลพine ili troลกkove na rubovima naziva se ponderirani graf. Numeriฤka vrijednost opฤ‡enito predstavlja troลกak premjeลกtanja s jednog vrha na drugi vrh. I usmjereni i neusmjereni graf mogu imati teลพine na svojim rubovima.

Evo primjera ponderiranog grafa (usmjerenog).

Usmjereni graf s teลพinom
Usmjereni graf s teลพinom
  • A do B, postoji prednost, a teลพina je 5, ลกto znaฤi da ฤ‡e nas prelazak iz A u B koลกtati 5.
  • A pokazuje na B, ali u ovom grafikonu, B nema izravni brid iznad A. Dakle, ne moลพemo putovati od B do A.
  • Meฤ‘utim, ako se ลพelimo pomaknuti od A do F, postoji viลกe puteva. Staze su ADF, ABF. ADF ฤ‡e koลกtati (10+11) ili 21.
  • Ovdje ฤ‡e staza ABF koลกtati (5+15) ili 20. Ovdje dodajemo teลพinu svakog ruba na stazi.

Evo primjera neusmjerenog grafa s teลพinama:

Neusmjereni graf s teลพinom
Neusmjereni graf s teลพinom

Ovdje rub ima teลพinu, ali nema smjer. Dakle, to znaฤi da ฤ‡e putovanje od vrha A do D koลกtati 10 i obrnuto.

Dvosmjerni graf

Dvosmjerni i neusmjereni grafovi imaju zajedniฤko svojstvo. To je

  • Opฤ‡enito, neusmjereni graf moลพe imati jedan brid izmeฤ‘u dva vrha.

Na primjer:

Dvosmjerni graf

  • Ovdje ฤ‡e prelazak s A na D ili D na A koลกtati 10.
  • U dvosmjernom grafu moลพemo imati dva ruba izmeฤ‘u dva vrha.

Evo primjera:

Dvosmjerni graf
Dvosmjerni graf

Putovanje od A do D koลกtat ฤ‡e nas 17, ali putovanje od D do A koลกtat ฤ‡e nas 12. Dakle, ne moลพemo dodijeliti dvije razliฤite teลพine ako se radi o neusmjerenom grafu.

Beskonaฤni graf

Graf ฤ‡e sadrลพavati beskonaฤan broj rubova i ฤvorova. Ako je graf Beskonaฤan i takoฤ‘er je povezan graf, tada ฤ‡e takoฤ‘er sadrลพavati beskonaฤan broj bridova. Ovdje proลกireni rubovi znaฤe da viลกe rubova moลพe biti povezano s tim ฤvorovima preko rubova.

Evo primjera beskonaฤnog grafa:

Beskonaฤni graf
Beskonaฤni graf

Null Graph

Null Graph sadrลพi samo ฤvorove ili vrhove, ali bez rubova. Ako je dan graf G = (V, E), gdje su V vrhovi, a E bridovi, on ฤ‡e biti nula ako je broj bridova E nula.

Evo primjera nultog grafa:

Null Graph
Null Graph

Trivijalni graf

Struktura podataka grafa smatra se trivijalnom ako je prisutan samo jedan vrh ili ฤvor bez rubova.

Evo primjera trivijalnog grafa:

Trivijalni graf

Viลกestruki grafikon

Graf se naziva multigraf kada je izmeฤ‘u dva vrha prisutno viลกe bridova ili vrh ima petlju. Izraz "petlja" u strukturi podataka grafa znaฤi rub koji pokazuje na isti ฤvor ili vrh. Multigraf moลพe biti usmjeren i neusmjeren.

Evo primjera multigrafa:

Viลกestruki grafikon

Postoje dva brida od B do A. ล toviลกe, vrh E ima samopetlju. Gornji graf je usmjereni graf bez utega na rubovima.

Kompletan grafikon

Graf je potpun ako svaki vrh ima usmjerene ili neusmjerene bridove sa svim ostalim vrhovima.

Pretpostavimo da postoji ukupan broj vrhova V i da svaki vrh ima toฤno V-1 bridova. Tada ฤ‡e se ovaj graf zvati Potpuni graf. U ovoj vrsti grafa, svaki vrh je povezan sa svim ostalim vrhovima preko bridova.

Evo primjera potpunog grafa s pet vrhova:

Kompletan grafikon

Na slici moลพete vidjeti da je ukupan broj ฤvorova pet, a svi ฤvorovi imaju toฤno ฤetiri ruba.

Povezani graf

Graf se naziva povezanim grafom ako krenemo od ฤvora ili vrha i obiฤ‘emo sve ฤvorove od poฤetnog ฤvora. Za to bi trebao postojati barem jedan brid izmeฤ‘u svakog para ฤvorova ili vrhova.

Evo primjera povezanog grafikona:

Povezani graf

Evo nekoliko objaลกnjenja gornjeg "cjelovitog primjera grafikona" Graf:

  • Pod pretpostavkom da nema ruba izmeฤ‘u C i F, ne moลพemo putovati od A do G. Meฤ‘utim, rub C do F omoguฤ‡uje nam putovanje do bilo kojeg ฤvora iz danog ฤvora.
  • Potpuni graf je povezani graf jer se moลพemo kretati s ฤvora na bilo koji drugi ฤvor u danom grafu.

Cikliฤki graf

Za graf se kaลพe da je cikliฤki ako postoji jedan ili viลกe ciklusa prisutnih u grafu.

Evo primjera cikliฤkog grafikona:

Cikliฤki graf

Ovdje vrhovi A, B i C tvore ciklus.

Graf moลพe imati viลกe ciklusa unutar sebe.

Usmjereni acikliฤki graf (DAG)

Graf se naziva usmjereni acikliฤki graf ili DAG ako unutar grafa nema ciklusa. DAG je vaลพan dok radite Topoloลกko sortiranje ili pronalazak naloga za izvrลกenje. DAG je takoฤ‘er vaลพan za stvaranje sustava za planiranje ili skeniranje ovisnosti o resursima itd. Meฤ‘utim, gornji grafikon ne sadrลพi nikakav ciklus unutra.

Evo jednostavnog primjera usmjerenog acikliฤkog grafa (DAG):

Usmjereni acikliฤki graf (DAG)

Grafikon ciklusa

Ciklusni graf nije isto ลกto i cikliฤki graf. U Cycle Graphu svaki ฤ‡e ฤvor imati toฤno dva spojena ruba, ลกto znaฤi da ฤ‡e svaki ฤvor imati toฤno dva stupnja.

Evo primjera ciklusnog grafikona:

Grafikon ciklusa

Bipartitni graf

Takve vrste Grafovi su posebne vrste grafova gdje su vrhovi dodijeljeni dvama skupovima.

Bipartitni graf mora slijediti pravilo:

  • Dva skupa vrhova trebaju biti razliฤita, ลกto znaฤi da svi vrhovi moraju biti podijeljeni u dvije grupe ili skupa.
  • Vrhovi istog skupa ne bi trebali tvoriti rubove.

Bipartitni graf

Eulerov graf

Strukture podataka grafa smatraju se Eulerovim grafom ako svi vrhovi imaju parni stupanj. Pojam stupnja vrhova oznaฤava broj bridova koji pokazuju ili izlaze iz odreฤ‘enog vrha.

Evo primjera Eulerovog grafa:

Eulerov graf

Svi vrhovi imaju parne stupnjeve. Vrh A, D, E i H imaju dva stupnja. Ovdje ฤvor C ima ฤetiri stupnja, ลกto je ฤak.

Hamiltonov graf

Hamilton Graph je Connect Graph, gdje moลพete posjetiti sve vrhove iz danog vrha bez ponovnog posjeฤ‡ivanja istog ฤvora ili koriลกtenja istog ruba. Ova vrsta povezanog grafa poznata je kao "Hamiltonov graf". Put koji posjeฤ‡ujete kako biste provjerili je li dani graf Hamiltonov graf ili nije poznat je kao Hamiltonov put.

Evo jednostavnog primjera grafikona Hamiltona:

Hamiltonov graf

Na ovoj slici moลพemo posjetiti sve vrhove iz bilo kojeg ฤvora u gornjem grafikonu. Jedan od putova moลพe biti ADCHBE. Takoฤ‘er je moguฤ‡e pronaฤ‡i Hamiltonov ciklus. Hamiltonov ciklus poฤinje i zavrลกava na istom vrhu. Dakle, Hamiltonov ciklus ฤ‡e biti ADCHBEA.

Saลพmite ovu objavu uz: