如何解决给出起始顶点的图形的子图
| 我想获得给定顶点开始位置的图的子图。连接到起始顶点的所有顶点均视为应返回的子图的一部分。 我已经解决了这一要求,但好奇是否有更有效的解决方案。我想出的解决方案是对图形进行DFS记录,并记录在集合S中遇到的每个顶点。然后,我简单地从原始图形中取出所有与S和I中的一个顶点相连的边。从中建立一个子图。原始图中的边存储在C#字典中,我相信它基本上是一个哈希。 DFS和BFS不起作用,因为如果两个顶点都具有相同的子对象,则BFS或DFS将不会遍历这些边之一。因此,在这种情况下,子图将包含所有正确的顶点,但会丢失一些边对。 有比我想出的解决方案更好的解决方案吗?解决方法
我认为BFS遍历是最有效的算法。
如果执行BFS并让每个节点的所有邻居入队(即遍历连接到当前节点的所有边),并且仅在访问了当前节点后才中止遍历,则可以避免使用“相同的子代”描述的问题/ \“缺少边缘\”。
, 一种“快速”算法,该算法枚举了所有的归纳子图
给定的大小可以在这里找到:
http://theinf1.informatik.uni-jena.de/~wernicke/motifs-wabi2005.pdf
这有帮助吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。