【发布时间】:2015-08-07 05:24:40
【问题描述】:
我需要解决这个问题。我真的一点头绪都没有。任何帮助将不胜感激。我想需要进行遍历,但我不知道如何解决这个问题。提前致谢。
再次考虑二叉树的以下第一种数据类型定义:
datatype 'a tree = Empty | Node of { lT: 'a tree, key: 'a, rT: 'a tree }
在你为这个数据类型定义的二叉树编写了一些函数之后,你想测试一下 他们。您在线搜索测试用例并找到具有实际定义的二叉树的数据库 使用以下第二种数据类型:
datatype 'a tree = Empty | Node of 'a tree * 'a * 'a tree
编写一个函数“convert”,将第二种数据类型的二叉树作为输入,并将其转换为 第一个数据类型的等效树。
【问题讨论】:
-
这里有个提示:写下这个
convert函数的类型。它采用一种类型并返回另一种类型。然后想想你能用它收到的类型做什么。 -
顺便说一句,我建议你编辑第二种类型的名称,这样更容易编译代码:
datatype 'a their_tree = TheirEmpty | TheirNode of 'a their_tree * 'a * 'a their_tree