Heim  >  Artikel  >  Backend-Entwicklung  >  So erstellen Sie einen Binärbaum in PHP (Codebeispiel)

So erstellen Sie einen Binärbaum in PHP (Codebeispiel)

不言
不言nach vorne
2018-11-17 17:31:513112Durchsuche

Der Inhalt dieses Artikels befasst sich mit der Erstellung eines Binärbaums in PHP (Codebeispiele). Ich hoffe, dass er für Freunde hilfreich ist.

1. Verwenden Sie das Rekursionsprinzip, mit der Ausnahme, dass dort, wo der Knoten ursprünglich gedruckt wurde, die Operation zum Generieren des Knotens und zum Zuweisen eines Werts zum Knoten geändert wird
if(ch= ='#' ){*T=NULL;}else{malloc();(*T)->data=ch;createFunc((*T)->lchild);createFunc((*T)-> rchild);}

2. Durchquerung vor der Bestellung: Besuchen Sie zuerst den Wurzelknoten, durchqueren Sie den linken Teilbaum in Vorbestellung, durchqueren Sie den rechten Unterbaum in Vorbestellung; 🎜>3. Fügen Sie die Werte jedes Knotens in den Binärbaum ein. Der Nullzeiger führt zu einem virtuellen Knoten, dessen Wert ein bestimmter Wert ist. Der verarbeitete Binärbaum ist ein erweiterter Binärbaum Binärbaum erreicht eine Durchlaufsequenz zur Bestimmung eines Binärbaums

<?php
class BinTree{
        public $data;
        public $left;
        public $right;
}
//前序遍历生成二叉树
function createBinTree(){
        $handle=fopen("php://stdin","r");
        $e=trim(fgets($handle));
        if($e=="#"){
                $binTree=null;
        }else{
                $binTree=new BinTree();
                $binTree->data=$e;
                $binTree->left=createBinTree();
                $binTree->right=createBinTree();
        } 
        return $binTree;
}  
  
$tree=createBinTree();
  
var_dump($tree);
 
#
object(BinTree)#1 (3) {
  ["data"]=>
  string(1) "A"
  ["left"]=>
  object(BinTree)#2 (3) {
    ["data"]=>
    string(1) "B"
    ["left"]=>
    NULL
    ["right"]=>
    object(BinTree)#3 (3) {
      ["data"]=>
      string(1) "D"
      ["left"]=>
      NULL
      ["right"]=>
      NULL
    }
  }
  ["right"]=>
  object(BinTree)#4 (3) {
    ["data"]=>
    string(1) "C"
    ["left"]=>
    NULL
    ["right"]=>
    NULL
  }
}

Das obige ist der detaillierte Inhalt vonSo erstellen Sie einen Binärbaum in PHP (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen