So implementieren Sie den Binärbaum-Algorithmus in PHP

墨辰丷
Freigeben: 2023-03-27 08:24:01
Original
1527 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich die Methode zum Erstellen eines Binärbaumalgorithmus in PHP vorgestellt. Ich hoffe, dass er für alle hilfreich ist.

Baum ist in der Datenstruktur immer noch sehr wichtig. Hier wird der Binärbaum durch Klammernotation dargestellt. Schreiben Sie zuerst eine Binärbaumknotenklasse:

// 二叉树节点
class BTNode {
  public $data;

  public $lchild = NULL;

  public $rchild = NULL;

  public function __construct($data) {
    $this->data = $data;
  }
}
Nach dem Login kopieren

Erstellen Sie dann den Binärbaum:

function CreateBTNode(&$root,string $str)
{
  $strArr = str_split($str);
  $stack = [];
  $p = NULL; // 指针
  $top = -1;
  $k = $j = 0;
  $root = NULL;
  foreach ($strArr as $ch) {
    switch ($ch) {
      case '(':
        $top++;
        array_push($stack, $p);
        $k = 1;
        break;
      case ')':
        array_pop($stack);
        break;
      case ',':
        $k = 2;
        break;
      default:
        $p = new BTNode($ch);
        if($root == NULL) {
          $root = $p;
        } else {
          switch ($k) {
            case 1:
              end($stack)->lchild = $p;
              break;
            case 2:
              end($stack)->rchild = $p;
              break;
          }
        }
        break;
    }
  }
}
Nach dem Login kopieren

Hier schreiben Sie eine Funktion zum Drucken eines Binärbaums (in-order Traversal):

function PrintBTNode($node)
{
  if($node != NULL) {
    PrintBTNode($node->lchild);
    echo $node->data;
    PrintBTNode($node->rchild);
  }
}
Nach dem Login kopieren

Laufendes Ergebnis:

Enter eine Zeichenfolge
"A(B(C,D),G(F))"

Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, das wird so sein hilfreich für das Studium aller sein.

Verwandte Empfehlungen:

PHP-KonstruktionBinärer BaumalgorithmusBeispielcode

Binärer Baumalgorithmus und Beispiele für KMP-Algorithmen, implementiert in Python

KMP-Algorithmus implementiert in PHP

Das obige ist der detaillierte Inhalt vonSo implementieren Sie den Binärbaum-Algorithmus in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!