下面是我用找到绿色节点的邻居的图表。 绿色节点位于名为new = [12,13,14,15,16,17,18,19,20,21,22,23,24,25]
的不同组中。 当我访问第一个绿色节点12
;它有两个邻居15
和21
。但21
有另一个绿色的邻居,因此我需要他们在我的节点12
的邻居列表中。这应该重复,直到绿色节点遇到红色的。因此最终,节点12
的邻居组应该是[0,15,21,14,16,134,23,19,3]
。有人能帮我找到这个吗?
-1
A
回答
1
伪代码,因为你根本不指定图形是如何工作的:
def findNeighbors (node, greens, visited = None):
if visited is None:
visited = set()
for n in node.directNeighbors:
# visit node if it’s new
if n not in visited:
visited.add(n)
# go recursively if the new node is green
if n in greens:
findNeighbors(n, greens, visited)
return visited
greenNodes = set(new)
twelve = findNodeByValue(12)
result = findNeighbors(twelve, greenNodes)
相关问题
- 1. Geohashing - 递归查找邻居的邻居
- 2. 在邻接矩阵中,如何找到给定顶点的邻居的邻居?
- 3. 序言,找到一个图的邻居
- 4. GEt DSR邻居节点
- 5. 查找节点邻居二维数组
- 6. python查找列表中的给定节点的所有邻居
- 7. 得到一个节点的邻居之间的所有关系
- 8. R中图节点的二阶邻居
- 9. QuadTree查找邻居
- 10. K-NN邻居到Python
- 11. 邻居
- 12. 查找ArrayList中的点邻居
- 13. 在图中找到具有相似邻居的节点
- 14. 如何在neo4j中找到节点的邻居?
- 15. 找到每个点的最近点(最近的邻居)
- 16. 查找2D网格中节点/顶点的邻居
- 17. MongoDB如何找到最近的邻居
- 18. 找到代理周围的邻居
- 19. 找到最低的邻居MATLAB
- 20. 合并邻居一个
- 21. 发送消息从一个节点到其邻居
- 22. d3工具提示中的第一个节点邻居
- 23. Cypher返回一个节点与给定的邻居
- 24. 节点的2-hub邻居中的节点具有零度?
- 25. 获取邻居
- 26. 同步邻居
- 27. 邻居发现
- 28. 邻居中断
- 29. 邻居发现?
- 30. 显示邻居
如果你提供的边缘元组或相似的,而不是照片,这样的列表,这将会是有益的人们可以轻松地进行试验,如果他们选择...(或者你迄今为止使用的代码使用networkx来达到你有一个图的点,但现在遇到算法方面的困难) –
但是这是两种不同类型的节点;绿色和红色。 – ccc
正确...所以你得到的代码能够适当地重现数据,所以有人可以拿起它来解决你所遇到的问题/你在这个方面采取的方法.. –