7 Graph

Na úlohu budete mať dva týždne, ale je iba za 6 bodov + bonus.

Stiahnite si hlavickový súbor a doprogramujte doňho metódy, ktoré od vás chceme. Úloha je naprogramovať repzetáciu grafu (takého toho z teórie grafov). Vlastnosti

  • neorientovaný, takže hrana (u, v) je to isté ako (v, u)

  • s kladnými hranami, teda váhy hrán nemôžu byť <= 0

  • bez slučiek, teda hrany (v, v) sú zakázané

Ak by niektorá z týchto vlastností mala byť porušená, tak vyhoďťe výnimku.

Samotné metódy sú popísané priamo v hlavičkovom súbore. V skratke, trieda má nejaké konštruktory a metódy na pridávanie a hrán a dotazovanie sa na to, či hrana existuje a akú má váhu.

Hlavná metóda je implemetácia hľadania najkratšej cesty, môžete ako chcete, ale Dijkstra bude stačiť.

Bonusy sú za rýchlosť a za implementovanie hľadania kostry. Oba po jednom bode.