PHP 樹的先序,中序,後序遍曆

來源:互聯網
上載者:User
 1 <?php 2     #樹節點 3     class Node { 4         public $lc = null;    #左孩子 5         public $rc = null;    #右孩子 6         public $val; 7          8         public function __construct($val) { 9             $this->val = $val;10         }11     }12     13     #先序遍曆14     function preTraverse(Node $root) {15         echo $root->val . " ";16         if($root->lc != null) preTraverse($root->lc);17         if($root->rc != null) preTraverse($root->rc);18     }19     20     #中序遍曆21     function inTraverse(Node $root) {22         if($root->lc != null) inTraverse($root->lc);23         echo $root->val . " ";24         if($root->rc != null) inTraverse($root->rc);25     }26     27     #後序遍曆28     function postTraverse(Node $root) {29         if($root->lc != null) postTraverse($root->lc);30         if($root->rc != null) postTraverse($root->rc);31         echo $root->val . " ";32     }33     34     $root = new Node(3);35     $node1 = new Node(2);36     $node2 = new Node(1);37     $node3 = new Node(6);38     $node4 = new Node(5);39     $node5 = new Node(7);40     41     $root->lc = $node1;42     $root->rc = $node3;43     $node1->lc = $node2;44     $node3->lc = $node4;45     $node3->rc = $node5;46     47     preTraverse($root);48     echo "<br>";49     inTraverse($root);50     echo "<br>";51     postTraverse($root);52 ?>

輸出

3 2 1 6 5 7 
1 2 3 5 6 7 
1 2 5 7 6 3

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.