1.cycle_basis

cycle_basis 的函数原型:

cycle_basis(G, root=None)

需要传入两个参数


假设我们创建一个图

import networkx as nx
import matplotlib.pyplot as plt
G=nx.Graph()  # 创建一个无向图
G.add_edges_from([(1,2),(2,3),(3,1),(2,4),(4,3),(3,1)]) # 构建边
nx.draw_networkx(G,pos=nx.spring_layout(G))
plt.show()  # 画图
nx.cycle_basis(G,1)  # 计算 cycle basis

我们把这个图画出来,我们其实可以发现几个环,[1,2,3] ,[2,3,4],[1,2,3,4]

我们来看下这个实验结果,它得到的是两个环
少了一个[1,2,3,4]
这个是因为我们调用的这个API cycle_basis 决定的 因为它指的就是这个循环中的最小圈

一个网络周期的基础就是循环的最小的集合,网络中的任何循环都可以写成是基于每个周期基础 cycle basis 的总和。

但是这个函数只适用与无向图。



2. simple_cycles

simple_cycles 找到有向图中的基本回路。 注意是找有向图中的基本回路。

一个简单simple 的周期,或者说是一个基本的回路(elementary circuit)。如果两个回路有着不同的循环排列,那么这两个基本的回路是不同的。

现在我们来构建一个图之后我们来尝试一下使用simple_cycles() 这个函数

这个函数的函数原型是:

simple_cycles(G)

G=nx.DiGraph()
G.add_edges_from([(1,2),(2,3),(3,2),(3,4),(4,2),(2,5),(5,6)])
nx.draw_networkx(G,pos=nx.spring_layout(G))
plt.show()

我们可以得到下面这个图

我们可以查看一下结果

在这里我们就不能使用我们的cycle_basis() 这个方法了,因为我们在这里构建的是有向图

在这里我们还引入了我们的nx.find_cycle(G)

它是通过深度优先遍历然后返回一个循环的边。得到的结果是边。





Networkx-cycle相关推荐

  1. Python数模笔记-NetworkX(1)图的操作

    1.NetworkX 图论与网络工具包 NetworkX 是基于 Python 语言的图论与复杂网络工具包,用于创建.操作和研究复杂网络的结构.动力学和功能. NetworkX 可以以标准和非标准的数 ...

  2. python networkx教程_Python社交网络——NetworkX入门

    import networkx as nx import matplotlib.pyplot as plt # 无向图网络 G1 = nx.Graph() G1.add_edge('A', 'B') ...

  3. networkx学习与使用——(3)路与圈

    networkx学习与使用--(3)路与圈 路与圈 实例构图 路 最短路径 简单路 圈(环) 完整代码资源 参考 路与圈 前几个星期写论文去了,耽搁了更新.给自己一个小目标,每周坚持一更! 为了保证实 ...

  4. Linked List Cycle II

    Given a linked list, return the node where the cycle begins. If there is no cycle, return null. Foll ...

  5. python networkx教程_如何在python中使用networkx绘制有向图?

    我只是为了完整而把它放进去 . 我从marius和mdml中学到了很多东西 . 这是边缘权重 . 抱歉箭头 . 看起来我不是唯一一个说它无法帮助的人 . 我无法使用ipython笔记本呈现这一点我不得 ...

  6. python networkx绘制图

    python networkx绘制图 1. 效果图 2. 安装 3. 源码 参考 这篇博客将介绍如何使用python,networkx绘制图. 1. 效果图 可调整点的大小,点是否有label,点的颜 ...

  7. 使用NetworkX绘制深度神经网络结构图(Python)

    本文将展示如何利用Python中的NetworkX模块来绘制深度神经网络(DNN)结构图. 已知我们创建的DNN结构图如下: 该DNN模型由输入层.隐藏层.输出层和softmax函数组成,每一层的神经 ...

  8. 【LeetCode】142 - Linked List Cycle II

    Given a linked list, return the node where the cycle begins. If there is no cycle, return null. Foll ...

  9. 解决load cycle count的一个偏方,告别硬盘卡卡响

    load cycle count猛增,笔记本电脑硬盘喀嚓喀嚓响,我倒不担心硬盘寿命,但是实在烦人那声音,系统也时常被卡一下.我曾使用了hdparm -B 254 /dev/sda 的方法,但是硬盘升温 ...

  10. 一文读懂Python复杂网络分析库networkx | CSDN博文精选

    作者 | yyl424525 来源 | CSDN博客 文章目录 1. 简介 安装 支持四种图 绘制网络图基本流程 2. Graph-无向图 节点 边 属性 有向图和无向图互转 3. DiGraph-有 ...

最新文章

  1. AlarmManager类的应用(实现闹钟功能)
  2. 【Java】I/O阻塞下的守护线程与程序计数
  3. 高可用之KeepAlived(2):keepalived+lvs
  4. linux 根目录分配多少好,Linux下硬盘怎么分区才合适:根分区(/)交换分区(/swap)和/boot分区需要多大...
  5. ajax跨域,json,jsonp
  6. Linux下5种动态库运行时搜索路径的方法
  7. linux加载显卡驱动模块,linux怎样加载显卡驱动,急,在线等
  8. java修改桌面背景_用Java更换Windows桌面壁纸
  9. 笔记本电脑拆机并更换固态硬盘的方法
  10. PYNQ官方镜像配置
  11. Facebook 的开源静态分析工具Infer
  12. python bar函数循环_python bar函数怎么使用
  13. 海店湾养生专家:被称为油料之王的“神奇的豆子”,你知道它吗?
  14. Line披露母公司Naver详情:去年营收28.4亿美元
  15. html中css的各种颜色对应的色号
  16. 中国石油大学《机械设计课程设计》在线考试
  17. 股票分析,利用线性回归实时预测股价,只需要提供股票代码即可爬取相应股票数据并建模
  18. 互联网 vs 区块链革命:早期的挑战
  19. 顺德美食-嘉信京华食街
  20. 运营小技能:最有效的公众号运营技能详解(持续更新中)

热门文章

  1. 分库分表就能无限扩容吗?
  2. 一文揭秘微服务架构统一安全认证设计与实践!
  3. 字节跳动新员工入职一周,工作很少,每天很闲,从不加班!公司一堆漂亮小姐姐!完全不像外面说得那么忙!...
  4. 漫画:腾讯面试题(盛最多水的容器)
  5. BAT某家应届研究生吐槽互联网实习经历:宁愿降薪回老家,也不屈服996
  6. 为什么分布式一定要有一致性方案?
  7. Scrum Mastery:有效利用组织的5个步骤
  8. OA发展史:由点到生态
  9. 绩效辅导,阿里这样做
  10. 数字化绩效管理解决方案,评估周期缩短80%,成本下降60%