Na adrese https://coding-challenge.websupport.sk pripravil Websupport vrámci pracovného náboru pár IT úloh. Zaujala ma posledná 4tá úloha, ktorá sa týka riešenia grafu:
Nachádzate sa na recepcii (to je ten krúžok odlišnej farby s označením X). Snažíte sa vcítiť do zmýšľania developerov… Určite sa budú schovávať čo najďalej od recepcie. Keďže sú pohodlní a nechce sa im chodiť zbytočne ďaleko, vybrali si najkratšiu možnú cestu. Tak čo? Uhádneš v ktorej miestnosti sa skryli?
Graf má uzly / vrcholy ( nodes / Vertices ) , ktoré predstavujú napr. mestá.
Ďalej má hrany ( Edges ), ktoré predstavujú spojnice, zvyčajne cesty.
Keď majú hrany svoje hodnoty (dĺžka cesty), ide o vážený graf.
Algoritmy pre najkratšiu cestu:
- Dijkstra - zložitosť E * log(V) - najrýchlejší, len kladné hodnoty hrán
- Bellman-Ford - zložitosť E * V
- Floyd-Warshall - zložitosť V³ - ráta naraz všetky vzdialenosti, najpomalší