You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

查询图中指定节点邻接节点的时间复杂度是多少?

查询图中指定节点邻接节点数量的时间复杂度

这个问题的答案取决于图的存储结构,分两种常见情况分析:

邻接矩阵存储

如果图用V×V的邻接矩阵存储,查询指定节点的邻接节点数量时,必须遍历该节点对应的整行(共V个元素),判断每个位置是否存在边。这种场景下,时间复杂度确实是O(V),和你的判断一致。比如你举的V=5的例子,就需要检查节点1对应的5个矩阵元素,统计其中代表边的数量。

邻接表存储

如果图用邻接表存储(每个节点对应一个列表,直接记录其邻接节点),那查询操作的时间复杂度是O(deg(v))——其中deg(v)是目标节点v的度数(也就是邻接节点的数量)。

  • 最好情况:节点v没有邻接节点,时间复杂度O(1)
  • 最坏情况:节点v和其他所有节点都相连(deg(v)=V-1),时间复杂度退化为O(V)
  • 稀疏图场景下,这个操作的耗时会远低于O(V)

你提到的「时间复杂度不应为O(E)」是完全正确的——不管用哪种存储结构,查询单个节点的邻接数量都不需要遍历图中所有边,所以O(E)的说法不成立。

内容的提问来源于stack exchange,提问作者ChicoTabi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 07:08:16