0
确定我有这样的树:通过遍历一棵树方案
a6
/ | \
a1 a2 p1
/ \
a1 a2
,我需要一些代码来遍历它。 在深度清单represantation它是这样的权利? (a1 a2(a1 a2))? 我已经有了一个返回childerns节点的方法。 例如,如果我打电话给它, (功能树a6)=(a1 a2 p1) 有什么想法?
确定我有这样的树:通过遍历一棵树方案
a6
/ | \
a1 a2 p1
/ \
a1 a2
,我需要一些代码来遍历它。 在深度清单represantation它是这样的权利? (a1 a2(a1 a2))? 我已经有了一个返回childerns节点的方法。 例如,如果我打电话给它, (功能树a6)=(a1 a2 p1) 有什么想法?
我对你到底在问什么有点阴暗,但我会尽量让你开始。
你提到的应该是这个样子的树结构的深名单表示:
'(a6 (a1) (a2) (p1 (a1) (a2)))
大约一年前,我写了几篇博客文章,可能对你有用。 Trees in Scheme: Representation和Trees in Scheme: Parsing。
在“解析”文章中,我演示了使用相互递归(递归技术,其中两个过程是相互定义的)来有效地解析树。这应该是有帮助的。
最后,我还建议您阅读Simply Scheme的第18章,对该主题进行一些深入的介绍。
祝你好运。