Я прохожу по этой ссылке для представления списка смежности.
http://www.geeksforgeeks.org/graph-and-its-presentations/ а>
У меня простое сомнение по поводу какой-то части кода:
// A utility function to print the adjacenncy list representation of graph
void printGraph(struct Graph* graph)
{
int v;
for (v = 0; v < graph->V; ++v)
{
struct AdjListNode* pCrawl = graph->array[v].head;
printf("\n Adjacency list of vertex %d\n head ", v);
while (pCrawl)
{
printf("-> %d", pCrawl->dest);
pCrawl = pCrawl->next;
}
printf("\n");
}
}
Поскольку здесь для каждого V
цикла while выполняется повторение d
раз, где d - степень каждой вершины.
Итак, я думаю, что временная сложность похожа на
d0 + d1 + d2 + d3 ....... +dV where di is the degree of each vertex.
Все это составляет O (E), но ссылка говорит, что временная сложность O (| V | + | E |)
Не уверен, в чем проблема с пониманием. Здесь нужна помощь