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:

Primjer grafikona u strukturi podataka

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.