在3x3网络中,我希望能够确定任意两个节点之间的所有最短路径。然后,对于网络中的每个节点,我要计算通过一个特定节点的最短路径数。在

这需要使用nx.all_shortest_paths(G,source,target)函数,该函数返回一个generator。这与使用nx.all_pairs_shortest_path(G)不同,正如建议的here。区别在于,在前一种情况下,该函数计算任意两个节点之间的所有最短路径,而在后一种情况下,它只计算同一对节点之间的一条最短路径。在

考虑到我需要考虑所有最短路径,我提出了以下脚本。这就是我如何创建我正在使用的网络:import networkx as nx

N=3

G=nx.grid_2d_graph(N,N)

pos = dict( (n, n) for n in G.nodes() )

labels = dict( ((i, j), i + (N-1-j) * N ) for i, j in G.nodes() )

nx.relabel_nodes(G,labels,False)

inds=labels.keys()

vals=labels.values()

inds.sort()

vals.sort()

pos2=dict(zip(vals,inds))

nx.draw_networkx(G, pos=pos2, with_labels=False, node_size = 15)

这就是我如何打印任意两个节点之间的所有最短路径:

^{pr2}$

结果是从节点x到节点y的路径,其中只包括沿途的节点。我得到的是:From node 0 to 2 #Only one path exists

[0, 1, 2] #Node 1 is passed through while going from node 0 to node 2

------

From node 0 to 4 #Two paths exist

[0, 1, 4] #Node 1 is passed through while going from node 0 to node 4

[0, 3, 4] #Node 3 is passed through while going from node 0 to node 4

------

...continues until all pairs of nodes are covered...

我的问题是:如何修改最后一个代码块,以确保我知道总共有多少条最短路径通过每个节点?根据我提供的摘录结果,节点1通过2次,节点3通过1次(不包括起始节点和结束节点)。这个计算需要进行到底,以计算出通过每个节点的最终路径数。在

遍历所有点的最短路径python_Python:如何优化所有可能的最短路径的计数?相关推荐

  1. 网状结构(图)图的存储(邻接矩阵、邻接表)、图的遍历(深度DFS、广度BFS)、图的最短路径

    图 多对多关系 是一种网状数据结构,图是由非空的顶点集合和一个描述顶点之间关系的集合组成 其定义 Graph = (V, E) V={x | x ∈某个数据对象} E = {<u, v> ...

  2. JAVA编程求单源最短路径_【算法】单源最短路径——dijkstra算法

    一,概念 单源最短路径 给定一个带权有向图G=(V,E),其中每条边的权是一个实数.另外,还给定V中的一个顶点,称为源.要计算从源到其他所有各顶点的最短路径长度.这里的长度就是指路上各边权之和.这个问 ...

  3. Algorithm:C++语言实现之图论算法相关(图搜索广度优先BFS、深度优先DFS,最短路径SPF、带负权的最短路径Bellman-ford、拓扑排序)

    Algorithm:C++语言实现之图论算法相关(图搜索广度优先BFS.深度优先DFS,最短路径SPF.带负权的最短路径Bellman-ford.拓扑排序) 目录 一.图的搜索 1.BFS (Brea ...

  4. 最短路径 floyd java_java实现Floyd算法求最短路径

    关于无向图的最短路径问题: 这个程序输出:最短路径矩阵 例如:W[0][5]=9 代表vo->v5的最短路径为9 W=: 0 1 3 7 4 9 1 0 2 6 3 8 3 2 0 4 1 6 ...

  5. 【算法学习笔记】 图(四)用优先级队列优化Dijkstra算法求最短路径(邻接矩阵存储)

    优先级队列:priority_queue,经过实验之后发现默认是首先输出最大的元素,现在想让队头为最小的元素,需要进行运算符重载 此算法寻找源点到与它连接的所有顶点的最短路径 运算符重载: struc ...

  6. 遍历字符串的每个字符python_Python之字符串的遍历的4种方式

    python的字符串遍历有4种方式: 1. 下标法 2. for in 3. iter内置函数 4. enumerate 其中下标法和enumerate适合需要判断后续字符的场景,比如循环到下标ind ...

  7. P4619 [SDOI2018]旧试题(莫比乌斯反演,建图优化三重枚举,三元环计数,神仙好题,超级清晰易懂)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 P4619 [SDOI2018]旧试题(莫比乌斯反演,三元环计数) Problem 计算: ∑i=1A ...

  8. linux选择最短路径sdn,基于网络流量的SDN最短路径转发应用

    原标题:基于网络流量的SDN最短路径转发应用 网络的转发是通信的基本功能,其完成信息在网络中传递,实现有序的数据交换.通过SDN控制器的集中控制,可以轻松实现基础的转发算法有二层MAC学习转发和基于跳 ...

  9. CF1621G Weighted Increasing Subsequences(离散化+树状数组优化dp+栈维护后缀最大值+计数)

    problem luogu-link solution 显然单独考虑每个 iii 的贡献,即被多少个合法上升子序列包含. 令 x=max⁡{j∣j>i∧aj>ai}x=\max\{j\ | ...

最新文章

  1. android UI进阶之实现listview中checkbox的多选与记录
  2. 自动化测试基础篇--Selenium浏览器操作
  3. echart 导出保存图片
  4. c语言n个测试用例0为结束,编写测试用例 - osc_4l0h8in9的个人空间 - OSCHINA - 中文开源技术交流社区...
  5. 逸管家:别只共享单车,互联网时代还可以共享人才
  6. 【tf.keras.Model】构建模型小结(部分问题未解决)
  7. 了解PS、学习使用html语义化标签和CSS术语
  8. springboot的配置文件加载的顺序,以及在不同位置配置下,加载的顺序
  9. 我的第一篇cnds文章
  10. html 如何在按钮中加字,html button标签 语法
  11. Java中判断String不为空的问题性能比较
  12. SSD目标检测(Single Shot MultiBox Detector)(一)
  13. Kindle——电子书格式转换(二)
  14. php对接抖音小程序担保支付/头条小程序担保支付
  15. linux marvell 网卡驱动,linux下安装Marvell Yukon网卡驱动
  16. Android 与Js通信报Java Exception was raised during method Invocation错误,引发的惨案
  17. 扎堆涌入“慢病管理”赛区,互联网医疗们看见了怎样的未来?
  18. mysql 距离计算排序
  19. CentOS 7 常用软件安装汇总
  20. Vue3分割线(Divider)

热门文章

  1. cocos2dx遇到的坑2
  2. 如何减少silverlight XAP包的尺寸
  3. Java 并发之 FutureTask 的基本使用
  4. 分享一篇SCCM软件更新的故障排除
  5. 桌面重置,所有的东西都消失了怎么办?
  6. SPHINX安装步骤
  7. 8086汇编语言实现8253计时器对时且实时定点显示时间(全注释)
  8. new hashmap 初始大小_你们要的HashMap工作原理!它来了!!!
  9. 2021.01.04 第 1 个工作日反思
  10. 安装了silverlight还是提示_苹果手机的微信提示音也能改,公司小姐姐都来向我请教...