从SICP
练习2.24:假设我们计算表达式(列表1(列表2(列表34)))。给出解释器打印的结果、相应的框和指针结构,并将其解释为树(如图2.6所示)。
问题是我的眼睛被破坏了,所以我既看不到方框和指针图,也看不到图2.6。所以现在我只能猜测这个列表应该是什么样的树,基于:
将元素为序列的序列看作树的另一种方法序列的元素是树的分支,而元素本身就是序列的子树。
请检查我的树解释这只是我的想象我很有信心这是正确的,但没有办法证实,因为所有的答案,我找到的练习是图片,我的屏幕阅读器无法阅读它们。
(列表1(列表2(列表3 4))—我认为这是树本身,或根节点这棵树有两个枝子。
第一个分支(1)是一个叶节点,因此我们在树的这一侧完成。
第二个分支(列表2(列表34))是另一棵树。
现在我们关注子树(列表2(列表34))它有两个孩子/分支。
第一个分支是leafnode(2),所以我们在这里完成。
第二个分支是另一棵树(列表34)。
现在我们关注子树(列表34)它有两个分支。
它们都是叶节点,所以我们结束了。
这是对的吗我把这棵树解释对了吗?
最佳答案
你的解释是正确的解释器打印的结果是(1 (2 (3 4)))
,即您描述的树。