Maison >développement back-end >tutoriel php >Comment imprimer un arbre binaire de haut en bas en PHP

Comment imprimer un arbre binaire de haut en bas en PHP

韦小宝
韦小宝original
2018-01-19 10:36:451182parcourir

Cet article présente principalement la méthode d'impression des arbres binaires de haut en bas en PHP, impliquant des techniques d'exploitation liées à la traversée des arbres binaires PHP. Les amis intéressés par PHP peuvent se référer à cet article

Cet article décrit. les exemples PHP implémente la méthode d'impression d'un arbre binaire de haut en bas. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Problème

Imprimez chaque nœud de l'arbre binaire de haut en bas , nœuds au même niveau Imprimez 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 Queue.

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;
}

Ce qui précède est tout le contenu de cet article. J'espère que cela aidera tout le monde à apprendre PHP ! !

Recommandations associées :

PHP utilise deux piles pour implémenter la fonction de file d'attente

PHP implémente la pré-commande, l'ordre et la publication -traversée d'ordre d'un arbre binaire Exemple d'opération

PHP appelle ffmpeg pour prendre des captures d'écran vidéo et des exemples de script d'épissage à partager

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