您当前的位置:首页 > 计算机 > 编程开发 > Python

Python计算有向图节点的入度和出度

时间:09-09来源:作者:点击数:

本文代码使用字典和集合模拟有向图结构,也可以改用其他的数据类型来实现。

def getDegrees(orientedGraph, node):

    #出度

    outDegree = len(orientedGraph.get(node, []))

    #入度

    inDegree = sum(1 for v in orientedGraph.values() if node in v)

    return (inDegree, outDegree)

#模拟有向图

graph = {'a':set('bcdef'),

              'b':set('ce'),

               'c':set('d'),

              'd':set('e'),

               'e':set('f'),

               'f':set('cgh'),

               'g':set('fhi'),

              'h':set('fgi'),

               'i':set()}

#查看结果

print(getDegrees(graph, 'h'))

上面代码对应的有向图结构如下图所示。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门