【发布时间】:2015-06-04 06:45:43
【问题描述】:
我需要使用以下方法获取树的大小:size(Tree,Size)
我目前有错误,请指教!
size(empty, Size).
size(tree(L, _, R), Size) :-
size(L, Left_Size),
size(R, Right_Size),
Size is
Left_Size + Right_Size + 1.
输出应该产生:
?- size(node(1,2),X).
X = 2.
?- size(node(1,[2,3,4]),X).
X = 2.
?- size(node(node(a,b),[2,3,4]),X).
X = 3.
【问题讨论】:
-
More general solutions 是可能的!
-
More efficient versions 也是可能的(具有类似的受限功能)。