无向图所有不重复环查找的SWI-Prolog程序实现求助
无向图所有不重复环查找的SWI-Prolog程序实现求助
嗨,各位大佬!我现在遇到了个Prolog编程的难题,想请大家帮忙支支招。我需要实现一个SWI-Prolog程序,用来找出无向图里的所有环,而且输出的结果绝对不能有重复。
给大家举个具体的例子,当我执行查询:
?- find_cycles([a-[b,c,d],b-[a,c],c-[a,b,d],d-[a,c]])
期望得到的输出是:
Cycle = [a,b,c] Cycle = [a,d,c] Cycle = [a,b,c,d]
我自己试着用DFS算法来写,但折腾了半天就是跑不对,实在没思路了。有没有大佬能给我讲讲实现思路,或者提供一个可行的代码示例呀?
备注:内容来源于stack exchange,提问作者Slave
相关产品推荐
相关产品推荐

