中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

實現二叉樹遍歷的PHP遞歸函數

PHP
小樊
89
2024-04-26 20:01:50
欄目: 編程語言

下面是一個實現二叉樹遍歷的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類來表示二叉樹節點,并編寫相應的遍歷函數即可。您可以根據需要自定義二叉樹的結構和節點數據。

0
梧州市| 衡南县| 定日县| 商丘市| 鹤壁市| 安徽省| 巴彦淖尔市| 临澧县| 吉首市| 商都县| 楚雄市| 苍山县| 搜索| 来宾市| 普兰店市| 苏尼特左旗| 天镇县| 保德县| 宝应县| 当涂县| 古丈县| 板桥市| 上思县| 五原县| 如东县| 五大连池市| 贵港市| 改则县| 大田县| 仪征市| 伊宁县| 新和县| 镇赉县| 临汾市| 石景山区| 永新县| 陆川县| 平利县| 宜春市| 黎川县| 二手房|