Table of Contents

Úkol 2

Ve 2. úkolu budete muset vytvořit strukturu graph, která reprezentuje orientovaný graf. Graf se skládá z uzlů, které jsou navzájem propojeny hranami.

Do grafu lze přidat uzly dvěma způsoby:

Při implementaci funkce init_graph můžete uvažovat, že bude pro daný graf volána jenom jednou. Nicméně po volání funkce init_graph může následovat libovolný počet volání add_vertex. Počet vrcholů v grafu lze získat pomocí funkce num_vertices(g). Vrcholy jsou identifikovány čísly 0, 1, 2, …, num_vertices(g)-1.

Další funkce k implementaci:

Stáhněte si potřebné hlavičkové soubory a testy.

Pozor, funkce reachable_vertices byla přejmenována a v upload systému bude pod novým názvem až od 17.10.

Co odevzdat?

Jeden nebo více souborů .cpp, které implementují funkce deklarované v souboru graph.hpp tak, aby testy procházely a neztrácela se paměť.

Rady

Užitečné hlavičky

Při hledání dosažitelných uzlů se vám pravděpodobně bude hodit fronta (hlavička <queue>).