所以,我有一个 Prolog 家庭作业。我正在尽我最大的努力不要在这里破坏荣誉代码,所以我要求的是提示而不是完整的解决方案。
让我重申:请不要发布代码片段。您可以发布可能对我有帮助的内置谓词的名称。
无论如何,现在已经不碍事了,我的任务是使用二叉搜索树。这是我正在使用的有效事实的事实:
tree(goodbst, [ [ [ [] , 1 , [] ] , 3 , [ [] , 4 , [] ] ], 10 ,[ [ [] , 12 , [] ], 15 ,[] ] ]).
我的问题是:我必须编写的其中一件事是确保这是一棵有效的树(也就是说,左子树中的数字不大于它们的根,右子树中的数字不小于他们的根源。)
我从哪里开始寻找解决方案?我已经有一个谓词来确保树具有有效的结构(遵循我上面描述的结构),但我不知道如何从下一个谓词开始。