腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
Dijkstra
算法
时间
复杂度
我是
Dijkstra
算法
的
新手。 我
的
问题是:对于一个有n个结点和m个边
的
无向图G,
Dijkstra
算法
寻找最短路径
的
时间
复杂度
是o((n+m)logn)。然而,如果G是连通
的
,为什么这个
时间
复杂度
也可以表示为o(mlogn)? 干杯
浏览 21
提问于2021-04-18
得票数 0
回答已采纳
4
回答
图
算法
的
时间
复杂度
取决于什么?
、
、
、
我在课本上偶然发现了这个问题: a.图中
的
顶点数。两者都是关于图中顶点和边
的
数目。解释你
的
选择。 因此,根据维基百科Prim,Kruskal和
Dijkstra
的
算法
,最坏
的
情况
时间
复
浏览 5
提问于2012-08-09
得票数 2
1
回答
直接
Dijkstra
算法
的
时间
复杂度
、
、
我很难看到
直接
实现
Dijkstra
算法
的
O(mn)界限(没有堆)。在我
的
实现和其他实现中,我发现主循环迭代n-1次(对于不是源
的
每个顶点,n-1),然后在每次迭代中找到最小顶点是O(n) (检查队列中
的
每个顶点并找到到源
的
最小距离),然后每个发现
的
最小顶点最多有n-1在我看来,这似乎导致了O(n^2)
的
界限。下面提供了我
的
实现 public int[]
dijkstra
(int s
浏览 9
提问于2019-12-24
得票数 1
回答已采纳
1
回答
DAG拓扑排序图中松弛边
的
Dijkstra
算法
、
、
、
我在读
算法
第三版
的
简介。解决这一问题
的
方法有3种。我
的
询问是关于其中两个人
的
。这是众所周知
的</em
浏览 8
提问于2016-05-16
得票数 4
回答已采纳
1
回答
Dijkstra
算法
的
运行
时间
--优先级队列(堆)
、
、
我很难理解为什么带有堆
的
Dijkstra
算法
的
复杂度
是O( (m + n)*log(n) ),其中m是边
的
数量,n是顶点
的
数量。现在我知道必须做n删除mins。我
的
概念清楚了吗?另外,请您解释一下如何获得
Dijkstra
算法
的
时间
复杂度
。
浏览 0
提问于2015-05-04
得票数 0
8
回答
理解
Dijkstra
算法
的
时间
复杂度
计算
、
、
、
、
根据我
的
理解,我已经计算了
Dijkstra
算法
的
时间
复杂度
,用下面给出
的
邻接列表作为大O表示法。它并没有像预期
的
那样出来,这让我一步一步地理解它。每个顶点可以连接到( V-1 )个顶点,因此每个顶点
的
相邻边数是V-1,假设E表示连接到每个顶点
的
V-1边。在最小堆中查找和更新每个相邻顶点
的
权重是O(log(V)) + O(1)或O(log(V))。 因此,从上面的step1和step2来看,更新一
浏览 8
提问于2014-10-24
得票数 113
回答已采纳
1
回答
dijkstra
最短路径
算法
的
时间
复杂度
是否依赖于所使用
的
数据结构?
、
、
、
存储图形
的
一种方法是将节点实现为结构,例如int vertex; node* next; 其中vertex存储顶点编号,next包含指向其他节点
的
链接。我能想到
的
另一种方法是将其实现为向量,例如现在,在应用
Dijkstra
的
最短路径
算法
时,我们需要构建优先级队列和其他所需
的
数据结构,上面两种不同
的
图形应用方法在<em
浏览 0
提问于2014-01-15
得票数 2
1
回答
给定一棵树T= (V,E),找出从顶点v到顶点w
的
直接
路径
、
、
、
我被困在我
的
算法
任务中,要求在具有n个顶点(非循环间接图)
的
树(V,E)中找到从顶点v到顶点w
的
直接
路径,
时间
复杂度
为O(dist(v,w))。我必须找到一个预处理程序(在O(N)中运行)来存储一些信息,这样我就可以达到O(dist(v,w))
的
时间
复杂度
。 我需要一些想法来存储在预处理过程中,这将有助于稍后
的
算法
。 没有完整
的
解决方案。我已经尝试存储可能
浏览 19
提问于2019-05-25
得票数 0
1
回答
Dijkstra
算法
复杂度
与BFS
复杂度
、
、
、
我一直在练习各种
算法
,我刚刚完成了
Dijkstra
算法
来计算图上节点之间
的
最短距离。在完成了利用索引minHeap
的
练习之后,我还完成了利用BFS (附带
的
解决方案)
的
练习。这让我想到了几个问题: ,如果我对
时间
复杂度
的
计算是正确
的
-我计算了附加解
的
复杂性为O(v^2 + e),其中V=顶点数,E=边数。我们迭代和触摸每个节点一次,而且只有一次,边缘也是一样。v^2来自shift操
浏览 2
提问于2021-01-18
得票数 0
1
回答
索引优先级队列是否确实加快了
dijkstra
的
速度?
、
、
、
、
“懒惰”
dijkstra
的
最短路径
算法
的
渐近
时间
复杂度
为O(Elog(V)),它使用规则优先级队列而不是索引堆。这意味着会有重复
的
节点,
算法
必须跳过这些节点,但是不管如何处理。解决这个问题
的
一个解决方案是使用索引优先级队列,但我对它在实际生活中和使用大O时是否真的比惰性版本更快感到困惑,因为懒惰版本仍然跳过
算法
中
的
重复节点。通过一些研究,我还发现索引
dijkstra
比惰性实现<em
浏览 1
提问于2021-08-29
得票数 2
回答已采纳
2
回答
当所有边都具有相同
的
权重时
Dijkstra
算法
如果给定图中
的
所有边都有相同
的
权重,
Dijkstra
的
算法
还能找到两个顶点之间
的
最短路径吗?谢谢!
浏览 6
提问于2014-01-24
得票数 3
回答已采纳
1
回答
我修改了BFS以在加权无向图中找到最短路径,而不是使用
Dijkstra
的
algo,它起作用了。
、
、
、
、
为了在无向加权图中找到最短路径,我比较了BFS和
dijkstra
的
algo,以了解为什么我们需要优先级队列。下面的代码在我写
的
GeeksForGeeks上被接受了,而不是
dijkstra
:- } return dist;问题:
浏览 1
提问于2021-09-11
得票数 0
回答已采纳
1
回答
图-具有顶点权
的
最短路径
、
、
、
、
这是一项消费税:(a)假设图中
的
每个边
的
权重为零(而非边
的
代价为.Assume),则Cv =1对于所有顶点1≤v≤n (即所有顶点都有相同
的
代价)。
浏览 3
提问于2012-05-04
得票数 21
回答已采纳
2
回答
Dijkstra
算法
的
空间
复杂度
是多少?
、
、
使用数组
的
Dijkstra
算法
的
时间
复杂度
为O(V^2),如果采用优先级队列,则可以进一步将
复杂度
提高到O(E log V)。但是它
的
空间复杂性如何呢?在两种情况下都是O(V)吗?
浏览 10
提问于2018-06-14
得票数 4
3
回答
Dijkstra
算法
= SSSP
、
据我所知,
dijkstra
不能与负边权重一起工作。为此,我们必须使用行李员福特。我们认为,
dijkstra
可以或不能使用负权重边缘。我说
的
对吗?请指导我做这个??
浏览 25
提问于2016-08-06
得票数 0
回答已采纳
1
回答
Dijkstra
算法
的
时间
复杂度
、
、
据我所知,在最坏
的
情况下,使用队列
的
未加权图上
的
Dijkstra
算法
的
时间
复杂度
是O(n2)。我猜想这是因为od bfs和dfs。BFS在标记阶段处理所有顶点,dfs用于回溯。它们都具有线性
时间
复杂度
。但我不确定这个逻辑是否正确。 另外,对于加权图,我知道
时间
复杂度
是O(EVlogV),其中E是边和V顶点。我认为这是因为优先级队列,我知道优先级队列是如何工作
的
,但
浏览 26
提问于2020-06-04
得票数 0
1
回答
Matlab图论渐近复杂性
、
、
、
、
我最近对图论很感兴趣,在投资了MATLAB
的
生物信息学工具箱之后,我发现图形最短路径函数非常有用。然而,当使用该函数时,运行
时间
总是非常相似的,无论我将函数设置为广度优先搜索、
Dijkstra
算法
还是Bellman
算法
。我尝试了不同数量
的
节点,从几百个到几十万个,但运行
时间
仍然几乎相同。现在,在MATLAB网站
的
图速记路径页面上,
Dijkstra
的
算法
显示了一个
时间
复杂度<
浏览 4
提问于2014-04-29
得票数 1
回答已采纳
1
回答
A*平均
时间
复杂度
、
、
我正在为我
的
学士论文做两个
算法
的
研究: Floyd-Warshall和A*
算法
。在我
的
工作中,
时间
复杂度
是两种
算法
比较中
的
一个重要部分。但由于A*中
的
启发式
算法
,
算法
的
时间
复杂度
不是恒定
的
。我发现
的
唯一信息是,在最坏
的
情况下,
时间
复杂性可能是指数级
的
浏览 188
提问于2021-03-24
得票数 0
回答已采纳
5
回答
编程竞赛最好
的
单源最短路径
算法
是什么?
、
、
据我所知,对于此类问题,具有最佳大O运行
时间
的
算法
是
Dijkstra
,使用斐波那契堆作为优先级队列,尽管实际上二进制堆更容易实现,并且工作得也很好。然而,似乎即使是二进制堆也需要相当长
的
时间
才能滚动,而且在比赛中
时间
是有限
的
。我知道STL提供了一些堆
算法
和优先级队列,但它们似乎没有提供
Dijkstra
需要
的
减键函数。还是我说错了?似乎另一种可能性是不使用
Dijkstra
的<
浏览 4
提问于2009-12-08
得票数 1
回答已采纳
1
回答
二进制、二项式和斐波那契堆之间有什么区别?
、
、
我想知道二进制、二项式和Fibonacci堆之间
的
基本区别,以及它们最适合使用
的
场景。我主要关注
的
是他们在
Dijkstra
算法
中
的
应用,根据所使用
的
堆
的
类型,它
的
时间
复杂度
将如何变化?
浏览 1
提问于2015-11-20
得票数 2
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
什么是Dijkstra算法?详述Dijkstra算法的原理?用C语言实现Dijkstra算法。内附完整代码。
常见的排序算法及时间空间复杂度
OSPF 中的最短路径算法:Dijkstra 算法
RBS:最优时间复杂度的single-target PPR算法
怎么判断一个算法的“好坏”程度——时间复杂度的计算
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
云直播
活动推荐
运营活动
广告
关闭
领券