Что лучше, списки смежности или матрицы смежности для задач с графами в C ++? - PullRequest
107 голосов
/ 07 февраля 2010

Что лучше, списки смежности или матрица смежности, для задач с графами в C ++? Каковы преимущества и недостатки каждого?

Ответы [ 11 ]

1 голос
/ 24 ноября 2016

Если вы используете хеш-таблицу вместо матрицы смежности или списка, вы получите лучшие или одинаковые значения времени выполнения и пространства big-O для всех операций (проверка на ребро O(1), получение всех смежных ребер O(degree) и т. Д.).

Существуют некоторые постоянные коэффициенты, хотя и для времени выполнения, и для пространства (хеш-таблица не так быстра, как поиск по списку или массиву, и занимает приличное количество дополнительного пространства для уменьшения коллизий).

...