Struktura dat grafu a Algorithms (Příklad)

Co je to graf v datové struktuře?

Graf je nelineární datová struktura, která se skládá z vrcholů a hran, kde vrcholy obsahují informace nebo data a hrany fungují jako spojnice mezi páry vrcholů.

Používá se k řešení skutečných slovních úloh, jako je nalezení nejlepší trasy do cílového místa a trasy pro telekomunikace a sociální sítě. Uživatelé jsou považováni za uzel v grafu a dráty jsou hrany spojující uživatele.

Pokud jsou hrany reprezentovány jako E a vrcholy jsou reprezentovány jako V, pak lze graf G zapsat jako množinu vrcholů a hran, jako např. G (V, E)

Příklad grafu v datové struktuře

Zde je jednoduchý příklad struktury dat grafu:

Příklad grafu v datové struktuře

Je to jednoduchý neorientovaný graf (jeden druh grafu). Zde je množina vrcholu: {A, B, C,D,E,F}. Dva vrcholy tvoří hranu. Například A a B jsou spojeny hranou. A a F však nejsou spojeny s žádnými hranami.

Terminologie grafů v datové struktuře

Níže jsou uvedeny některé důležité termíny používané ve struktuře dat grafu:

Období Description
Vrchol Všechny datové prvky se nazývají vrchol nebo uzel. Na obrázku nahoře jsou A, B, C, D a E vrcholy.
Hrana (oblouk) Spojnice mezi dvěma uzly nebo vrcholy se nazývají hrana (Arc). Má dva konce a je reprezentován jako (startingVertex, endingVertex).
Neorientovaný okraj Je to obousměrná hrana.
Režie Edge Je to jednosměrná hrana.
Zatížená hrana Hrana s hodnotou.
Stupeň V Graphu se počet hran spojených s vrcholem nazývá stupeň.
Indegree Celkový počet příchozích hran připojených k vrcholu.
Outdegree Celkový počet odchozích hran připojených k vrcholu.
Vlastní smyčka Hrana se nazývá vlastní smyčka, pokud se její dva koncové body shodují.
Sousedství Říká se, že vrcholy sousedí, pokud je připojena hrana.

Typy grafů v datové struktuře

Zde je seznam těch nejběžnějších typy grafů v datové struktuře:

  • Režírovaný graf
  • Neorientovaný graf
  • Vážený graf
  • Obousměrný graf
  • Nekonečný graf
  • Null Graph
  • Triviální graf
  • Více grafů
  • Kompletní graf
  • Připojený graf
  • Cyklický graf
  • Řízený acyklický graf (DAG)
  • Graf cyklu
  • Bipartitní graf
  • Eulerův graf
  • Hamiltonův graf

Aplikace grafové datové struktury

Graf má mnoho případů použití. Existuje mnoho algoritmů, které hodně využívají grafy. Zde jsou některé z aplikací grafu:

  • Mapy Google používají grafy k nalezení křižovatky dvou silnic a výpočtu vzdálenosti mezi dvěma místy.
    Například, Dijkstra, pro nalezení nejkratší vzdálenosti mezi zdrojovým a cílovým místem.
  • Facebook používá Graphs k nalezení společného přítele uživatelů. Jeho algoritmus považuje každého uživatele za uzel grafu.
  • Pro alokaci zdrojů se používá DAG (Direct Acyclic Graph). Kontroluje závislost zdrojů.
  • Vyhledávač Google používá k vytvoření hodnocení webových stránek grafy.
  • Mapovací zařízení používá grafovou datovou strukturu.
  • router a protokol t používá graf, aby zjistil cestu cílové cesty.