Хотелось бы узнать, как измерить потребление памяти графиком в C.
С помощью следующего кода я инициализирую граф с V узлами и без ребер:
Graph GRAPHinit(int V)
{
int v;
Graph G = malloc(sizeof *G);
G->V = V; G->E = 0;
G->adj = malloc(V*sizeof(link));
for (v = 0; v < V; v++) G->adj[v] = NULL;
return G;
}
График представляет собой структуру, представленную в виде списка смежности:
struct graph {
int V;
int E;
link *adj;
};
typedef struct node *link;
struct node {
int v;
link next;
};
typedef struct graph *Graph
Можно ли измерить количество пространства, которое G использует, с помощью sizeof-Operator?
Другие возможности?