Maison >développement back-end >tutoriel php >PHP réalise l'impression d'un arbre binaire, partage de code de haut en bas

PHP réalise l'impression d'un arbre binaire, partage de code de haut en bas

php中世界最好的语言
php中世界最好的语言original
2018-05-19 14:47:371284parcourir

Cette fois je vais partager avec vous le code pour imprimer un arbre binaire de haut en bas en PHP. Quelles sont les précautions pour imprimer un arbre binaire de haut en bas en PHP Voici une pratique. cas, jetons un coup d'oeil.

Problème

Imprimez chaque nœud de l'arbre binaire de haut en bas, et imprimez les nœuds au même niveau de gauche à droite.

Solution

Chaque couche de l'arbre est imprimée de gauche à droite, les sous-arbres gauche et droit du nœud doivent donc être stockés , car premier entré, premier sorti , utilisez donc file d'attente.

Code d'implémentation

/*class TreeNode{
  var $val;
  var $left = NULL;
  var $right = NULL;
  function construct($val){
    $this->val = $val;
  }
}*/
function PrintFromTopToBottom($root)
{
  $queueVal = array();
  $queueNode = array();
  if($root == NULL)
    return $queueVal;
  array_push($queueNode, $root);
  while(!empty($queueNode)){
    $node = array_shift($queueNode);
    if($node->left != NULL)
      array_push($queueNode,$node->left);
    if($node->right != NULL)
      array_push($queueNode,$node->right);
    array_push($queueVal,$node->val);
  }
  return $queueVal;
}

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez. faites attention aux autres questions connexes dans l'article du site Web PHP chinois !

Lecture recommandée :

Explication détaillée des étapes pour faire fonctionner la base de données mongoDB avec tp5 (thinkPHP5)

php implémente mongoDB Classe de fonctionnement en mode singleton Explication détaillée des étapes

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn