Если вы хотите хранить ровно ребра, используйте матрицу весов: int** M;
, где M[i][t]
- длина ребра между вершинами i и t.
Если ребра графа имеют вес 1,Вы можете хранить граф в матрице смежности, где M[i][t]
равно:
- 0 , если между вершинами i и t нет ребер
- 1 если есть ребро от i до t
- alpha если i == t и в вершине i (или t) есть петля
Если вам требуется структура, критичная для использования памяти, сохраните свой график в связанном списке, где каждая вершина имеет структуру:
struct Vertex
{
int N;
Vertex* next;
};
Таким образом, вы получите массив структур Vertex, каждая из которых содержит указатель на следующийсвязан с.Например, вот некоторый график связанных списков:
- 1 -> 3 -> 4
- 2 -> 5
- 3 -> 4
- 4 -> 3
- 5 -> 2