【发布时间】:2014-07-04 13:23:22
【问题描述】:
我有一个任务,我必须在 Prolog 中设计一棵二叉树,然后为它实现一些谓词(例如插入、遍历、搜索和高度。)
我有足够的信心来实施它们,但作为一个起点,我得到了这个:
可以根据 2 个谓词来定义二叉树:
emptyBT,空二叉树
btTree(N,T1,T2) 如果 N 是具有左子树 T1 和右子树 T2 的二叉树的根,则为真,其中 T1 中的所有项都小于或等于 N 并且所有项在T2大于N。
有人能指出我使用上述两个谓词实现 BT 的方向吗?我在网上搜索过一些 Prolog 书籍,它们对 BT 的定义都不同,这让我有些困惑。
【问题讨论】:
-
BTTree(N,...不是 Prolog 语法开头。 -
bTTree(N,..)?这是正确的 Prolog 语法吗?
-
请先查阅 Prolog 书籍:Art of Prolog、Bratko 等。
-
感谢您的帮助...
标签: prolog binary-tree predicate