首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Prolog:列表和差异列表的图表示

Prolog:列表和差异列表的图表示
EN

Stack Overflow用户
提问于 2014-10-23 11:05:13
回答 1查看 110关注 0票数 2

我一直在试图理解一个列表和一个不同列表在图结构中的样子。我理解[a1,a2,a3,..an|[]等列表的基本结构。

但我不明白一个不同的列表会是什么样子?

例如,1,2,3,4-3,4

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-23 11:33:03

X-Y是术语-(X, Y)。因此,[1,2,3,4]-[3,4]主要是一对两个列表,每个列表都可以很容易地显示在树中,就像显示的那样。

现在考虑一下表单[E1,E2,...,E_n|Rest]的列表,即最后的尾尚未实例化。同样,您可以很容易地在树中显示这一点,就像显示的那样,只需将end-of-list替换为Rest (无论如何,这是错误的,因为它实际上应该是原子0:[])。

现在的想法是始终跟踪尚未实例化的尾,这是一个单一的逻辑变量。通过实例化此变量,再次将其实例化到其尾部尚未实例化的列表中,并再次单独跟踪其尾部,您始终可以在与原始列表已经达到的长度无关的时间内追加进一步的元素。

您可以将这样的列表及其最后的尾表示为对[E1,E2,...,E_n|Rest]-Rest,但实际上最好使用两个不同的参数并将列表及其未实例化的最终尾传递为两个单独的参数(explanation)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26526722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档