Heim >Backend-Entwicklung >PHP-Tutorial >PHP realisiert das Drucken eines Binärbaums von oben nach unten durch Codefreigabe

PHP realisiert das Drucken eines Binärbaums von oben nach unten durch Codefreigabe

php中世界最好的语言
php中世界最好的语言Original
2018-05-19 14:47:371324Durchsuche

Dieses Mal werde ich Ihnen den Code zum Drucken eines Binärbaums von oben nach unten in PHP mitteilen. Was sind die Vorsichtsmaßnahmen zum Drucken eines Binärbaums von oben nach unten in PHP? Fall, werfen wir einen Blick darauf.

Problem

Drucken Sie jeden Knoten des Binärbaums von oben nach unten und Knoten auf derselben Ebene von links nach rechts.

Lösung

Jede Schicht des Baums wird von links nach rechts gedruckt, daher müssen die linken und rechten Teilbäume des Knotens gespeichert werden , denn First in, first out, also Warteschlange verwenden.

Implementierungscode

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

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen erhalten Sie zu anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Detaillierte Erläuterung der Schritte zum Betrieb der MongoDB-Datenbank mit tp5 (thinkPHP5)

php implementiert mongoDB Singleton-Modus-Betriebsklasse Detaillierte Erläuterung der Schritte

Das obige ist der detaillierte Inhalt vonPHP realisiert das Drucken eines Binärbaums von oben nach unten durch Codefreigabe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn