n个顶点e条边的图G用邻接表存储,则求每个顶点入度的时间复杂度为?查了好几个地方的答案,答案大部分

n个顶点e条边的图G用邻接表存储,则求每个顶点入度的时间复杂度为?查了好几个地方的答案,答案大部分给的是O(n+e),也有O(n*n)?我觉得是O(n*e)。到底是啥呢?... n个顶点e条边的图G用邻接表存储,则求每个顶点入度的时间复杂度为?查了好几个地方的答案,答案大部分给的是O(n+e),也有O(n*n)?我觉得是O(n*e)。到底是啥呢? 展开
 我来答
琦洛_Kiss
推荐于2017-09-17 · TA获得超过122个赞
知道答主
回答量:7
采纳率:0%
帮助的人:7万
展开全部
O(n+e)是对的,O(n*n)是用邻接矩阵存储时的时间复杂度
算法就是遍历每一条边,然后把每条边的终点的入度+1.
邻接表中,就是要依次访问每个顶点,然后在每个顶点中依次访问每条边,把这些边的终点的入度+1。也就是每个顶点和每条边依次要各访问一遍,所以时间复杂度是O(n+e)。
在邻接矩阵中,算法需要遍历邻接矩阵的每一个点,而邻接矩阵有n*n个点,所以时间复杂度是O(n*n)。
有什么不懂的可以追问。
更多追问追答
追问
题中说求每个顶点就是一个顶点的意思吗?若求所有顶点是不是就是n*(n+e),然后时间复杂度就是O(n*n)?
追答
如果我理解的没错,你的算法是,选择一个顶点,然后找所有进入这个顶点的边,来计算入度。这种算法的时间复杂度的确是O(n*e)。
而比较高效的算法是,遍历所有的边,然后把每一条边进入的顶点的入度+1,这样遍历全部的边后,所有顶点的入度也就计算好了。这种算法的时间复杂度就是我上面说的。
疏佳思cGcf0
2017-10-21
知道答主
回答量:1
采纳率:0%
帮助的人:941
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式