Co jest lepsze, listy sąsiedztwa lub macierze sąsiedztwa dla problemów z grafami w C ++?

Co jest lepsze, listy sąsiedztwa lub macierze sąsiedztwa, dla problemów z grafami w C ++? Jakie są zalety i wady każdego z