我知道有很多关于BFS时间复杂度的问题,即:O(V + E)。然而,我仍然难以理解为什么时间复杂度是O(V + E),而不是O(V * E)。我知道O(V + E)代表O(max [V,E]),我唯一的猜测是它与图的密度有关,而不是算法本身,例如归并排序,其时间复杂度始终为O(n * logn)。我想到的例子是:1.具有| E | = | V | - 1的有向图,时间复杂度将为O(V);2.具有| E | = | V | * | V-1 |的有向图,实际上复杂度将为O(| E |)= O(| V | * | V |),因为每个顶点都有一个指向除自身以外的每个其他顶点的出边。我方向正确吗?任何见解都将非常有帮助。