在非定向图中查找所有的和弦周期
如何找到所有的和弦
http://en.wikipedia.org/wiki/Induced_path
在非线性栏中?
例如,考虑计划
该算法必须返回 1-2-3 和 0-1-3-4, 但从来没有 0-1-2-3-4.
/笔记:
[1]
这个问题与
https://coderoad.ru/838076/
, 因为图表不一定是平的。
[2]
我读了这篇文章,
http://portal.acm.org/citation.cfm?id=1346685
, 但我不明白他们做了什么 :/.
[3]
我试过了 CYPATH
http://research.nii.ac.jp/~uno/code/cypath.htm
但该程序只提供了一个帐户,算法 EnumChordlessPath 在 readme.txt 它具有重要的错别类型和C-Mess代码。
[4]
我不是想找到一组任意的基础
https://coderoad.ru/1607124/
循环的基础可能有和弦。/
http://en.wikipedia.org/wiki/Induced_path
在非线性栏中?
例如,考虑计划
0 --- 1
| | \
| | \
4 --- 3 - 2
该算法必须返回 1-2-3 和 0-1-3-4, 但从来没有 0-1-2-3-4.
/笔记:
[1]
这个问题与
https://coderoad.ru/838076/
, 因为图表不一定是平的。
[2]
我读了这篇文章,
http://portal.acm.org/citation.cfm?id=1346685
, 但我不明白他们做了什么 :/.
[3]
我试过了 CYPATH
http://research.nii.ac.jp/~uno/code/cypath.htm
但该程序只提供了一个帐户,算法 EnumChordlessPath 在 readme.txt 它具有重要的错别类型和C-Mess代码。
[4]
我不是想找到一组任意的基础
https://coderoad.ru/1607124/
循环的基础可能有和弦。/
没有找到相关结果
已邀请:
5 个回复
君笑尘
赞同来自:
选择节点编号 1. 称它为 'A'.
列出了出来的链接 'A'.
选择一个。 让我们呼吁邻居节点 'B' 和 'C' 从 B 较少的 C.
如果一个 B 和 C 连接,突出周期 ABC, 回到步骤 3 并选择另一对。
如果一个 B 和 C 未连接:
列出关联的所有节点 B. 假设他与之相关 D, E 和 F. 创建一个向量列表 CABD, CABE, CABF. 对于他们每个人:
如果上次节点连接到任何内部节点之外 C 和 B, 下拉矢量
如果上一个节点已连接到 C, 输出并删除它
如果它未连接到任何一个,则通过添加上次节点所连接的所有节点来创建新的向量列表。
重复直到向量耗尽。
重复步骤 3-5 用一对。
删除节点 1 所有链接导致它。 选择以下节点并返回步骤 2.
Edit: 你可以摆脱一个附加的周期。
它似乎乍一看了,可能有错误,但你必须了解这个想法:
</dim;></int></dim;></dim-2;>
知食
赞同来自:
</node></node>
冰洋
赞同来自:
不孕症周期的定义是一组点,其中这些点的子集的周期不存在。 因此,一旦您拥有所有周期,问题只是为了排除真正具有周期子集的周期。
为了提高找到每个循环的效率,通过所有现有周期执行循环,并确保它不是另一个周期的子集,反之亦然,如果是,则消除较大的循环。
此外,唯一的困难是找出如何编写一个算法,该算法确定另一组的子集。
二哥
赞同来自:
如何找到通过顶点的所有和弦周期啊? 扭曲它以找到所有的博斯德的方式 B 到 A, 鉴于允许的顶点列表,并在宽度或深度中搜索。 请注意,当最重要的顶部迭代时 /一步/ 的 B, 选择其中一个时,必须从允许的顶点列表中删除所有其他人。 /特别小心 B=A, 不要排除三次/.
董宝中
赞同来自:
假设您列出了计划示例的周期并从节点开始 0.
例如,如果搜索每个指定边缘的宽度,则 0 - 1, 你将实现 fork 在 1. 然后到达的周期 0, 第一个没有和弦,但是 rest 不是,可以消除......至少,我认为这是如此。
你能用这种方法吗? 还是有一个反例?