- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
给定一个无向图,一个起始顶点和一个结束顶点。求出从源到汇的步行次数(这样一个顶点可以被多次访问)正好涉及 h 跳。例如,如果图形是三角形,则具有 h 跳的此类路径的数量由第 h 个 Jakobstahl number 给出。 .这可以扩展到一个完全连接的 k 节点图,产生递归(和封闭形式的解决方案)here .
当图形是n边形时,接受的答案here将步行次数表示为二项式项的总和。
我假设可能有一个有效的算法来为任何给定的图找到这个数字?我们可以假设该图是以邻接矩阵或邻接表或任何其他方便的表示法提供的。
最佳答案
对此的解决方案是使用具有两个交替队列的修改后的 BFS 和一个针对特定长度的该节点路径的每个节点计数器:
paths(start, end, n):
q = set(start)
q_next = set()
path_ct = map()
path_ct_next = map()
path_ct[start] = 1
for i in [0, n): # counting loop
for node in q: # queue loop
for a in adjacent(node): # neighbor-loop
path_ct_next[a] += path_ct[node]
q_next.add(a)
q = q_next
q_next = set()
path_ct = path_ct_next
path_ct_next = map()
return path_ct_next[end]
这里的基本假设是 map()
生成一个字典,如果该条目尚不存在则返回零。否则它返回先前设置的值。计数循环只负责根据需要进行与跳数一样多的迭代。队列循环遍历可以使用恰好 i
跃点到达的所有节点。在邻居循环中,最终可以找到所有可以在 i + 1
跳中到达的节点。在这个循环中,相邻节点将被存储到一个队列中,用于下一次计数循环迭代。到达此类节点的可能路径数是到达其前任路径数的总和。一旦对当前计数循环迭代的每个节点完成此操作,队列和表就会被空实例交换/替换,算法可以重新开始。
关于algorithm - 从源到汇的步行次数正好是 h 跳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62253233/
我正在尝试使用 nx 在图中找到一些特定节点(比方说 l 节点)的 1 跳、2 跳,如果需要,k 跳邻居。 single_source_dijkstra_path_length. 每个步骤的时间复杂度
假设在下一段中我的光标位于第一句中的第一个are上(希望我可以突出显示它,但我不能这样...... )。按两次 ff 后,第一句话就会傻瓜,然后of 。再按下去我将一事无成。 Some people
给定一个无向图,一个起始顶点和一个结束顶点。求出从源到汇的步行次数(这样一个顶点可以被多次访问)正好涉及 h 跳。例如,如果图形是三角形,则具有 h 跳的此类路径的数量由第 h 个 Jakobstah
我正在制作 Winston Wolf 的交互式 map 。我有一张世界地图,每个大陆都可以点击并显示该大陆的国家。当我点击非洲大陆时,页面会跳转到非洲国家(如您所料)。我的问题是,我可以阻止它跳跃吗?
这是我的第一个问题,所以如果我问错了,我很抱歉。 在我的实验中,多个 android 设备使用 WiFi Direct 连接。为了利用无线 tx 的广播特性,所有设备都加入一个多播组来交换它们的信息。
我最近开发了一个 WCF Facade 服务。我是 WCF 的新手,无法理解安全实现部分。 服务如下: 一个 asp.net 公共(public)网站有一个 WCF 客户端,它访问: DMZ 中的 W
序言: 当问楼梯问题时,通常给定的允许步幅数组是 [1,2,3] 在 SO 上看到很多相同问题的例子,比如 n-steps-with-1-2-or-3-steps-taken-how-many-way
我是一名优秀的程序员,十分优秀!