![]() |
1
8
为节点分配从1到n的数字。
编辑:你可以去掉一个嵌套循环。 乍一看似乎管用,可能有漏洞,但你应该明白:
|
![]() |
2
4
@一切都有道理。找到所有的周期,然后排除那些没有和弦的。这可能效率太低,但搜索空间可以一路剪枝,以降低效率。下面是一个通用算法:
|
![]() |
3
1
如何找到所有通过顶点A的无弦循环?将其简化为在给定允许顶点列表的情况下,查找从B到A的所有无弦路径,并先搜索广度或深度。请注意,在从B迭代可到达的顶点(一步)时,当您选择其中一个顶点时,必须从允许的顶点列表中删除所有其他顶点(当B=A时要特别小心,以免消除三条边路径)。 |
![]() |
4
1
只是一个想法: 假设您正在示例图上枚举循环,并且从节点0开始。
你能用这样的方法吗?还是有反例? |
![]() |
5
1
找到所有周期。
为了提高效率,对于找到的每个循环,循环遍历所有现有循环,并验证它不是另一个循环的子集,反之亦然,如果是,则消除较大的循环。 除此之外,唯一的困难是如何编写一个算法来确定一个集合是否是另一个集合的子集。 |
![]() |
danial · 如何在多个字符串的每个位置找到最频繁的字符 2 年前 |
![]() |
Manny · 如何比较Perl中的字符串? 2 年前 |
![]() |
Diret · 获取范围内每个数字的子倍数的算法 2 年前 |
![]() |
Saif · 排序时python如何决定何时调用比较器? 2 年前 |