Heim > Artikel > Backend-Entwicklung > Detaillierte Erläuterung der Definitionsmethode des vollständigen Binärbaums in PHP
Dieser Artikel stellt hauptsächlich die Definitions- und Implementierungsmethode des vollständigen Binärbaums in PHP vor. Er beschreibt kurz das Konzept des vollständigen Binärbaums und gibt die Definition des vollständigen Binärbaums, die Knotensuche, das Hinzufügen, Festlegen, Drucken und andere damit verbundene Betriebsfähigkeiten in Form von Beispielen. Freunde können darauf verweisen
Dieser Artikel erläutert die Definition und Implementierungsmethode des vollständigen Binärbaums in PHP anhand von Beispielen. Teilen Sie es allen als Referenz mit. Die Details lauten wie folgt:
Wenn die Tiefe des Binärbaums h ist, mit Ausnahme der h-ten Schicht, beträgt die Anzahl der Knoten in jeder anderen Schicht (1~h -1) erreicht die maximale Anzahl. Alle Knoten in Ebene h sind kontinuierlich auf der äußersten linken Seite konzentriert, was einem vollständigen Binärbaum entspricht.
PHP-Code-Implementierung (vorübergehendes Implementieren des Hinzufügens von Knoten, des hierarchischen Durchlaufens von Knoten und des Löschens von Knoten für nachfolgende Aktualisierungen)
<?php class Node{ public $value; public $leftNode; public $rightNode; } /* 找到空节点 */ function findEmpytNode($node, $parent = null){ if(empty($node->value)){ return $node; }else{ if(empty($node->leftNode->value)){ return $node->leftNode; }else if(empty($node->rightNode->value)){ return $node->rightNode; }else{ if(empty($parent) || $node->value == $parent->rightNode->value){ return findEmpytNode($node->leftNode, $node); }else{ return findEmpytNode($parent->rightNode, $node); } } } } /* 添加节点 */ function addNode($node, $value){ $emptyNode = findEmpytNode($node); setNode($emptyNode, $value); } /* 设置节点 */ function setNode($node, $value){ $node->value = $value; $node->leftNode = new Node(); $node->rightNode = new Node(); } /* 打印 */ function printTree($node, $parent = null){ if(empty($node->value)) return ; echo $node->leftNode->value; echo $node->rightNode->value; if(empty($parent) || $node->value == $parent->rightNode->value){ printTree($node->leftNode, $node); }else{ printTree($parent->rightNode, $node); } } $head = new Node(); setNode($head, 1); addNode($head, 2); addNode($head, 3); addNode($head, 4); addNode($head, 5); addNode($head, 6); printTree($head);
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Definitionsmethode des vollständigen Binärbaums in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!