首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为NetworKit指定在edgelist中没有边缘的节点?

如何为NetworKit指定在edgelist中没有边缘的节点?
EN

Stack Overflow用户
提问于 2022-08-15 21:10:56
回答 1查看 63关注 0票数 0

networkit.graphio.EdgeListReader可以将编辑师读入加权有向图。

例如,

代码语言:javascript
复制
0 1 10
1 0 2
3 2 3
5 0 1

其中每一行都是原始顶点ID、目标顶点ID和边缘权重。

我们如何在边缘画中表示没有边的顶点?包括它将是重要的措施,如代数连通性。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-21 08:08:16

一种可能是利用NetworKit EdgeListReader 1的默认行为,读取器用n+1节点创建一个图,其中n是边缘列表中的最高节点id。因此,您可以通过创建一个具有n个节点(n > x)的边缘列表,而没有与x相关的边缘,从而引入一个孤立的节点x(即没有事件边缘)。

例如,下面的边缘列表表示具有4个节点的图,其中节点2是孤立的:

代码语言:javascript
复制
0 1 1
1 3 1
代码语言:javascript
复制
g = nk.graphio.EdgeListReader(' ', 0).read("edge_list.txt")

for u in g.iterNodes():
    print(f"Node {u} has degree {g.degree(u)}.")

# Node 0 has degree 1.
# Node 1 has degree 2.
# Node 2 has degree 0. <- Node 2 is isolated
# Node 3 has degree 1.

1

编辑:阅读图表后,可以使用addNodes()函数2插入更多的孤立节点。

代码语言:javascript
复制
# Let g be your graph with n nodes
g.addNodes(10)
# Now g has n+10 nodes, all nodes with id from n to n+9 are isolated.

2

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

https://stackoverflow.com/questions/73366462

复制
相关文章

相似问题

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