Heim  >  Artikel  >  Backend-Entwicklung  >  Eine Erklärung, wie man in PHP einen Binärbaum von oben nach unten druckt

Eine Erklärung, wie man in PHP einen Binärbaum von oben nach unten druckt

jacklove
jackloveOriginal
2018-06-30 17:46:251378Durchsuche

In diesem Artikel wird hauptsächlich die Methode zum Drucken von Binärbäumen in PHP von oben nach unten vorgestellt, einschließlich der Betriebsfähigkeiten im Zusammenhang mit dem Durchlaufen von PHP-Binärbäumen. Freunde in Not können sich darauf beziehen

Das Beispiel dieses Artikels zeigt Die Implementierung von PHP von oben nach unten. Methode zum Drucken des Binärbaums. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Problem

Drucken Sie jeden Knoten des Binärbaums von oben nach unten , Knoten auf derselben Ebene Drucken 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 , weil 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;
}

Der Artikel könnte Sie interessieren :

PHP-Methode zum Senden benutzerdefinierter Daten über header_php-Tipps

PHP-Methode zur Verwendung von ob_start() zum Löschen der Ausgabe und zur selektiven Ausgabe Erklären Sie die Methode des Zusammenführens zweier sortierter verknüpfter Listen in PHP

Das obige ist der detaillierte Inhalt vonEine Erklärung, wie man in PHP einen Binärbaum von oben nach unten druckt. 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