实现二叉树遍历的PHP递归函数

   2024-10-20 6440
核心提示:下面是一个实现二叉树遍历的PHP递归函数,包括前序遍历、中序遍历和后序遍历:class Node {public $data;public $leftChild;publ

下面是一个实现二叉树遍历的PHP递归函数,包括前序遍历、中序遍历和后序遍历:

class Node {    public $data;    public $leftChild;    public $rightChild;    public function __construct($data) {        $this->data = $data;        $this->leftChild = null;        $this->rightChild = null;    }}function preOrderTraversal($node) {    if ($node != null) {        echo $node->data . " ";        preOrderTraversal($node->leftChild);        preOrderTraversal($node->rightChild);    }}function inOrderTraversal($node) {    if ($node != null) {        inOrderTraversal($node->leftChild);        echo $node->data . " ";        inOrderTraversal($node->rightChild);    }}function postOrderTraversal($node) {    if ($node != null) {        postOrderTraversal($node->leftChild);        postOrderTraversal($node->rightChild);        echo $node->data . " ";    }}// 创建一个二叉树$root = new Node(1);$root->leftChild = new Node(2);$root->rightChild = new Node(3);$root->leftChild->leftChild = new Node(4);$root->leftChild->rightChild = new Node(5);// 前序遍历echo "Preorder traversal: ";preOrderTraversal($root);echo "\n";// 中序遍历echo "Inorder traversal: ";inOrderTraversal($root);echo "\n";// 后序遍历echo "Postorder traversal: ";postOrderTraversal($root);echo "\n";

以上代码演示了如何实现二叉树的前序遍历、中序遍历和后序遍历。您只需定义一个Node类来表示二叉树节点,并编写相应的遍历函数即可。您可以根据需要自定义二叉树的结构和节点数据。

 
举报打赏
 
更多>同类网点查询
推荐图文
推荐网点查询
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号