Arbres binaires de Compter le Nombre de Feuilles

Supposons que vous avez déjà la base arbre binaire procédures isempty(bt), racine(bt), à gauche(bt), et à droite(bt). Écrire une procédure isLeaf(bt) qui retourne true si l'arbre binaire bt est un nœud terminal et false si elle ne l'est pas.

C'est ce que j'ai:

proc isLeaf(bt)
if (isEmpty(bt))
error('The binary tree is empty.');
elseif (left(bt) < right(bt))
return true;
else return false;

Puis écrire une procédure numLeaves(bt) qui renvoie le nombre de feuilles dans l'arbre binaire bt.

C'est ce que j'ai:

proc numLeaves(bt)
if (isEmpty(bt))
error ('The binary tree is empty.');
elseif (count left(bt) + right(bt));
return (left(bt) + right(bt);

s'il vous plaît pourriez-vous corriger?

  • que pensez-vous est le problème avec elle?
  • Cela ressemble à des devoirs à faire à la question. Si oui, veuillez suivre les lignes directrices pour demander les devoirs des questions sur StackOverflow, ainsi que Jon Skeet lignes directrices sur le demander le parfait question. Enfin, lorsque l'on pose une question qu'il faut toujours dire ce que vous attendez d'arriver et de ce qui se passe réellement. Sinon, nous ne pouvons que deviner ce que vous voulez ou que la moyenne. Maintenant, je suppose que vous voulez que vos fonctions pour être plus convivial.
  • Ça ne ressemble pas à du code Java - est-il de pseudo? Merci de poster le code que vous avez de la difficulté avec.
  • Sûrement, si c'est un nœud feuille puis il n'y a pas de gauche ou de droite nœuds? Le isLeft(bt) fonctionnalité ressemble à la fonction de tri que vous souhaitez utiliser pour organiser l'arbre.
  • Même pour les pseudo-code de bonne indentation permet de ...
  • Désolé, c'est un pseudo! Je pense que le problème est qu'il n'a pas à faire la tâche demandée.