我需要在Prolog中使用循环构建有向图(在运行时),我不知道如何表示它.我的要求是我需要在一个恒定的时间内从一个顶点到达他的邻居.
是否可以将其表示为树,例如:
t(left_son,V,right_son)
但如何解决周期?
我可以列出边缘列表:
graph([a,b,c,d],[e(a,b),e(b,c),e(c,a),e(c,d)])
要不就
[a->[b],b->[c],c->[a,d],d->[]] 但是如何在搜索邻居时避免在列表上调用函数"成员",这会花费线性时间?
谢谢你的帮助