Sprievodca štruktúrou údajov grafu

Sprievodca štruktúrou údajov grafu

Efektívny programátor potrebuje dôkladné pochopenie dátových štruktúr a algoritmov. Technické pohovory často preveria vaše schopnosti riešiť problémy a kritické myslenie.





Grafy sú jednou z mnohých dôležitých dátových štruktúr v programovaní. Vo väčšine prípadov pochopenie grafov a riešenie problémov založených na grafoch nie je jednoduché.





VYUŽITIE VIDEA DŇA

Čo je to graf a čo o ňom potrebujete vedieť?





Čo je to graf?

Graf je nelineárna dátová štruktúra, ktorá má uzly (alebo vrcholy) s hranami, ktoré ich spájajú. Všetky stromy sú podtypy grafov, ale nie všetky grafy sú stromy a graf je dátová štruktúra, z ktorej stromy pochádzajú.

  Vizuálne znázornenie grafu

Hoci môžete vytvárať dátové štruktúry v JavaScripte a iných jazykoch, môžete graf implementovať rôznymi spôsobmi. Najpopulárnejšie sú prístupy okrajové zoznamy , zoznamy susedstva , a matice susednosti .



The Khan Academy sprievodca reprezentovaním grafov je skvelým zdrojom informácií o tom, ako znázorniť graf.

Existuje mnoho rôznych typov grafov. Jeden spoločný rozdiel je medzi riadený a neriadený grafy; tieto sa často vyskytujú pri problémoch s kódovaním a používaní v reálnom živote.





Typy grafov

  1. Orientovaný graf: Graf, v ktorom všetky hrany majú smer, označovaný aj ako digraf.   Orientovaný graf
  2. Neorientovaný graf: Neorientovaný graf je známy aj ako obojsmerný graf. V neorientovaných grafoch nezáleží na smere hrán a prechod môže ísť ktorýmkoľvek smerom.
  3. Vážený graf: Vážený graf je graf, ktorého uzly a hrany majú priradenú hodnotu. Vo väčšine prípadov táto hodnota predstavuje náklady na preskúmanie daného uzla alebo hrany.
  4. Konečný graf: Graf, ktorý má konečný počet uzlov a hrán.
  5. Nekonečný graf: Graf, ktorý má nekonečné množstvo uzlov a hrán.
  6. Triviálny graf: Graf, ktorý má len jeden uzol a žiadnu hranu.
  7. Jednoduchý graf: Keď len jedna hrana spája každý pár uzlov grafu, nazýva sa to jednoduchý graf.
  8. Nulový graf: Nulový graf je graf, ktorý nemá žiadne hrany spájajúce jeho uzly.
  9. Multigraf: V multigrafe má aspoň pár uzlov viac ako jednu hranu, ktorá ich spája. V multigrafoch nie sú žiadne vlastné slučky.
  10. Kompletný graf: Úplný graf je graf, v ktorom sa každý uzol spája s každým iným uzlom v grafe. Je tiež známy ako a úplný graf .
  11. Pseudo graf: Graf, ktorý má vlastnú slučku okrem ostatných hrán grafu, sa nazýva pseudo graf.
  12. Bežný graf: Pravidelný graf je graf, kde všetky uzly majú rovnaké stupne; t.j. každý uzol má rovnaký počet susedov.
  13. Prepojený graf: Súvislý graf je jednoducho akýkoľvek graf, v ktorom sú spojené ľubovoľné dva uzly; tj graf s aspoň jednou cestou medzi každými dvoma uzlami grafu.
  14. Odpojený graf: Nespojený graf je priamym opakom spojeného grafu. V odpojenom grafe nie sú žiadne hrany spájajúce uzly grafu, ako napríklad v a nulový graf.
  15. Cyklický graf: Cyklický graf je graf obsahujúci aspoň jeden cyklus grafu (cesta, ktorá končí tam, kde začala).
  16. Acyklický graf: Acyklický graf je graf bez cyklov. Môže byť riadený alebo neriadený.
  17. Podgraf: Podgraf je odvodený graf. Je to graf vytvorený z uzlov a hrán, ktoré sú podmnožinami iného grafu.