<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ### 基本概念 * 深度優先遍歷: 對每一個可能的分支路徑深入到不能再深入為止,而且每個結點只能訪問一次。要特別注意的是,二叉樹的深度優先遍歷比較特殊,可以細分為先序遍歷、中序遍歷、后序遍歷。具體說明如下: 前序遍歷:根節點->左子樹->右子樹 中序遍歷:左子樹->根節點->右子樹 后序遍歷:左子樹->右子樹->根節點 * 廣度優先遍歷: 又叫層次遍歷,從上往下對每一層依次訪問,在每一層中,從左往右(也可以從右往左)訪問結點,訪問完一層就進入下一層,直到沒有結點可以訪問為止。 ### 動畫演示 --- **此小結主要講解深度遍歷,例如有序列:A B C D E F G H K,然后各種遍歷后得出結果如下所示:** * 前序遍歷:A B C D E F G H K :-: ![](https://box.kancloud.cn/711963e6f586b0b5fdec71e6408a72e2_1329x901.gif =580x300) * 中序遍歷:B D C A E H G K F :-: ![](https://box.kancloud.cn/e91d7c63a56eac59cbc691c242571374_1335x906.gif =600x300) * 后序遍歷:D C B H K G F E A :-: ![](https://box.kancloud.cn/23e7e25cb41d5411d92d5844592970c3_1335x906.gif =600x300) ### 應用場景 (略) ### 代碼示例 * 前序遍歷 ``` /** * 前序遍歷(遞歸方法) */ private function preOrder($root) { if (!is_null($root)) { $function = __FUNCTION__; echo $root->key . " "; $this->$function($root->left); $this->$function($root->right); } } ``` * 中序遍歷 ``` /** * 中序遍歷(遞歸方法) */ private function midOrder($root) { if (!is_null($root)) { $function = __FUNCTION__; $this->$function($root->left); echo $root->key . " "; $this->$function($root->right); } } ``` * 后序遍歷 ``` /** * 后序遍歷(遞歸方法) */ private function postOrder($root) { if (!is_null($root)) { $function = __FUNCTION__; $this->$function($root->left); $this->$function($root->right); echo $root->key . " "; } } ``` * 客戶端調用 ``` class Client { public static function Main() { $arr = array(10, 8, 12, 7, 9, 11, 13); $tree = new Bst(); $tree->init($arr); $traverse = new traverse($tree); $traverse->preOrder(); $traverse->midOrder(); $traverse->postOrder(); } } CLient::Main(); ``` ### 小結
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看