1.应用场景

主要用于使用PHP构造二叉树, 帮助更加理解数据结构与算法。

2.学习/操作

1.文档阅读

https://blog.csdn.net/sinat_36421482/article/details/66977872  //php实现二叉树——构造

https://time.geekbang.org/column/article/67856 //23 | 二叉树基础(上):什么样的二叉树适合用数组来存储?

https://time.geekbang.org/column/article/68334  //24 | 二叉树基础(下):有了如此高效的散列表,为什么还需要二叉树?

 

2.code

<?php

 

//树节点类

// 1、var在类外用报错:如果不是在类中,用var定义变量是错的。

// 2、类属性必须带限定词:php中类属性必须定义为公有,受保护,私有之一。所以如果没有那三个修饰符,必须用var,var是public的别名。

class TreeNode{

    var $val;

    var $left = NULL;

    var $right = NULL;

 

    function __construct($val){

        $this->val = $val;

    }

    //构造二叉树

    function createBinaryTree(TreeNode $lchird = NULL, TreeNode $rchird = NULL){

        if(!is_null($lchird))

            $this->left = $lchird;

        if(!is_null($rchird))

            $this->right = $rchird;

    }

}

 

$d = new TreeNode('D');

$e = new TreeNode('E');

$f = new TreeNode('F');

$c = new TreeNode('C');

$b = new TreeNode('B');

$a = new TreeNode('A');

$a->createBinaryTree($b,$c);

$b->createBinaryTree($d,$e);

$c->createBinaryTree(NULL,$f);

 

// var_dump($a); // 不方面查看结构

// var_dump((array)$a); // 不方便查看结构

echo (json_encode($a));

// {"val":"A","left":{"val":"B","left":{"val":"D","left":null,"right":null},"right":{"val":"E","left":null,"right":null}},"right":{"val":"C","left":null,"right":{"val":"F","left":null,"right":null}}}

 

 

输出:

PHP - 二叉树 - 构造

 

PHP - 二叉树 - 构造

 

 

 

后续补充

...

3.问题/补充

TBD

4.参考

https://blog.csdn.net/sinat_36421482/article/details/66977872  //php实现二叉树——构造

后续补充

...

相关文章:

  • 2021-10-19
  • 2022-12-23
  • 2021-11-30
  • 2021-08-31
  • 2021-12-08
  • 2021-12-06
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-10-02
  • 2022-12-23
  • 2021-07-27
  • 2021-09-15
  • 2021-06-23
  • 2022-12-23
相关资源
相似解决方案