【发布时间】:2021-01-04 16:37:37
【问题描述】:
我的任务是编写一个计算二叉树大小的函数。这是树结构的实现:
datatype 'a bin_tree =
Leaf of 'a
| Node of 'a bin_tree (* left tree *)
* int (* size of left tree *)
* int (* size of right tree *)
* 'a bin_tree (* right tree *)
我的教授给了我这个模板:
fun getSize Empty = 0
| getSize (Leaf _) = 1
| getSize (Node(t1,_,t2)) = getSize t1 + getSize t2;
我想知道是否需要对其进行操作以使其与我的树结构一致以使其正常工作?
【问题讨论】:
-
你不应该“操纵”那个函数,你应该使用你自己类型的模式匹配来编写你自己的函数。
-
此问题已在本问答中得到解决:verifying size of binary trees?
标签: binary-tree sml treenode