首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >朱莉娅图,dijkstra_shortest_paths

朱莉娅图,dijkstra_shortest_paths
EN

Stack Overflow用户
提问于 2014-12-06 01:29:56
回答 1查看 511关注 0票数 4

我希望有可扩展的图形,能够添加顶点和边,并运行dijkstra_shortest_paths algo。我无法找到正确的方法来定义图,这样dijkstra_shortest_paths才能工作。下面是我的尝试。

代码语言:javascript
复制
using Graphs
g1= graph(ExVertex[], ExEdge{ExVertex}[], is_directed=false)
dist_key = "dist"
v1 = add_vertex!(g1, "a")
v2 = add_vertex!(g1, "b")
v3 = add_vertex!(g1, "c")
e12 = add_edge!(g1, v1, v2)
e12.attributes[dist_key]=1.0
e13 = add_edge!(g1, v1, v3)
e13.attributes[dist_key]=1.0
e23 = add_edge!(g1, v2, v3)
e23.attributes[dist_key]=1.0
epi = AttributeEdgePropertyInspector{Float64}(dist_key)
dijkstra_shortest_paths(g1, epi, ["a"])

错误消息:

代码语言:javascript
复制
dijkstra_shortest_paths has no method matching   dijkstra_shortest_paths(::GenericGraph{ExVertex,ExEdge{ExVertex},Array{ExVertex,1},Array{ExEdge{ExVertex},1},Array{Array{ExEdge{ExVertex},1},1}}, ::AttributeEdgePropertyInspector{Float64}, ::Array{ASCIIString,1})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-06 01:59:07

我认为问题在于["a"] --您必须引用实际的顶点“手动”,即

代码语言:javascript
复制
julia> sp = dijkstra_shortest_paths(g1, epi, [v1])
julia> sp.parents
3-element Array{ExVertex,1}:
 vertex [1] "a"
 vertex [1] "a"
 vertex [1] "a"
julia> sp.dists
3-element Array{Float64,1}:
 0.0
 1.0
 1.0

为我工作。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27327295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档