Struktura podataka grafikona i Algorithms (Primjer)
Što je graf u strukturi podataka?
Graf je nelinearna podatkovna struktura koja se sastoji od vrhova i rubova, pri čemu vrhovi sadrže informacije ili podatke, a rubovi djeluju kao veza između para vrhova.
Koristi se za rješavanje stvarnih problema s riječima poput pronalaženja najbolje rute do odredišne lokacije i rute za telekomunikacije i društvene mreže. Korisnici se smatraju čvorovima na grafikonu, a žice su rubovi koji povezuju korisnike.
Ako su bridovi predstavljeni kao E, a vrhovi kao V, tada se graf G može napisati kao skup vrhova i bridova, kao što je G (V, E)
Primjer grafikona u strukturi podataka
Evo jednostavnog primjera strukture podataka grafikona:
To je jednostavan neusmjereni graf (jedna vrsta grafa). Ovdje je skup vrhova: {A, B, C, D, E, F}. Dva vrha stvaraju brid. Na primjer, A i B su povezani rubom. Međutim, A i F nisu povezani nikakvim bridovima.
Terminologije grafova u strukturi podataka
Slijede neki važni pojmovi koji se koriste u strukturi podataka grafikona:
Termin | Description |
---|---|
Tjeme | Svaki element podataka naziva se vrh ili čvor. Na gornjoj slici, A, B, C, D & E su vrhovi. |
Rub (luk) | Spojne veze između dva čvora ili vrha nazivaju se brid (Luk). Ima dva kraja i predstavlja se kao (početni vrh, krajnji vrh). |
Neusmjereni rub | To je dvosmjerni rub. |
Usmjerena oštrica | To je jednosmjerni rub. |
Ponderirani rub | Rub s vrijednošću na sebi. |
Stepen | U grafu se broj bridova povezanih s vrhom naziva stupanj. |
Indegree | Ukupan broj dolaznih bridova povezanih s vrhom. |
Outdegree | Ukupan broj izlaznih bridova povezanih s vrhom. |
Samopetlja | Brid se naziva samopetlja ako se njegove dvije krajnje točke podudaraju. |
Susjedstvo | Za vrhove se kaže da su susjedni ako je brid spojen. |
Vrste grafova u strukturi podataka
Ovdje je popis najčešćih vrste grafova u strukturi podataka:
- Usmjereni graf
- Neusmjereni graf
- Ponderirani grafikon
- Dvosmjerni graf
- Beskonačni graf
- Null Graph
- Trivijalni graf
- Višestruki grafikon
- Kompletan grafikon
- Povezani graf
- Ciklički graf
- Usmjereni aciklički graf (DAG)
- Grafikon ciklusa
- Bipartitni graf
- Eulerov graf
- Hamiltonov graf
Primjene strukture podataka grafikona
Graf ima mnogo slučajeva upotrebe. Postoji mnogo algoritama koji često koriste grafove. Evo nekih od primjena grafa:
- Google karte koriste se grafikonima za pronalaženje raskrižja dviju cesta i izračunavanje udaljenosti između dvije lokacije.
Na primjer, Dijkstra, za pronalaženje najkraće udaljenosti između izvorne i odredišne lokacije. - Facebook koristi Graphs kako bi pronašao zajedničkog prijatelja korisnika. Njegov algoritam svakog korisnika smatra čvorom grafikona.
- Za dodjelu resursa koristi se DAG (Direct Acyclic Graph). Provjerava ovisnost resursa.
- Google tražilica koristi grafikone za stvaranje poretka za web stranice.
- Uređaj za mapiranje koristi strukturu podataka grafikona.
- usmjerivač i t-ov protokol koristi Graph za saznavanje staze odredišne staze.