2017-04-22 3 views
-2

Binärer Baum ist in meiner Implementierung als Baum (Knoten, Links, Rechts) definiert.Prüfen, ob ein Baum ein binärer Baum ist, der Prolog verwendet

Ich schreibe ein isBinaryTree (Begriff) Funktion zu prüfen, ob Begriff ist ein binärer Baum, da dieser Begriff jeder Prolog Begriff sein kann.

Hier ist meine Implementierung:

isBinaryTree(nil). 
isBinaryTree(Tree(_,left,right)) :- isBinaryTree(left), isBinaryTree(right). 

Aber es "Nein" auf die folgende Eingabe zurückzukehren.

isBinaryTree(Tree(a, nil, nil)). 

Während es zurückgeben "Ja" auf

isBinaryTree(nil) 

Warum isBinaryTree (Baum (a, nil, nil)) kehrt mir nicht ein "Ja" auf Prologs?

Antwort

-1

Verwenden Sie Großbuchstaben, um die Variable in Prolog darzustellen.