【发布时间】:2016-01-05 07:00:05
【问题描述】:
来自SICP
练习 2.24:假设我们计算表达式 (list 1 (list 2 (list 3 4)))。给出解释器打印的结果,相应的框和指针结构,并将其解释为一棵树(如图 2.6 所示)。
问题是我的眼睛被毁了,所以我既看不到盒子和指针图,也看不到图2.6。所以现在我只能猜测这个列表应该是什么样的树,基于:
另一种考虑元素是序列的序列的方法是树。序列的元素是树的分支,而本身是序列的元素是子树。
请检查我的树解释。这只是我的想象。我很确定这是正确的,但无法确认,因为我找到的所有练习答案都是图片,我的屏幕阅读器无法阅读。
(list 1 (list 2 (list 3 4))) - 我认为这是树本身,或根节点。这棵树有两个分支或孩子。
第一个分支 (1) 是叶节点,所以我们在树的这一侧完成。
第二个分支(list 2 (list 3 4) 是另一棵树。
现在我们关注子树 (list 2 (list 3 4)。它有两个子/分支。
第一个分支是叶节点 (2),所以我们到这里就完成了。
第二个分支是另一棵树(列表 3 4)。
现在我们关注子树(列表 3 4)。它有两个子分支。
它们都是叶子节点,所以我们完成了。
这是正确的吗?我对树的解释是否正确?
【问题讨论】:
标签: list tree scheme lisp sicp