日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Algorithms_二叉树的前序遍历、中序遍历、后续遍历(深度优先)

發(fā)布時(shí)間:2025/3/21 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Algorithms_二叉树的前序遍历、中序遍历、后续遍历(深度优先) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 前序、中序、后序的含義
  • 實(shí)例
  • Code (遞歸)
    • 前序遍歷
    • 中序遍歷
    • 后序遍歷
    • 測試
  • Code (非遞歸)


前序、中序、后序的含義

前序遍歷: 先輸出父節(jié)點(diǎn),再遍歷左子樹,最后遍歷右子樹

中序遍歷 : 先遍歷左子樹,再輸出父節(jié)點(diǎn),最后遍歷右子樹

后序遍歷 : 先遍歷左子樹,再遍歷右子樹,最后輸出父節(jié)點(diǎn)

如何區(qū)分呢?

輸出父節(jié)點(diǎn)的順序 ,就可以確定是 前序、中序、后序


實(shí)例

我們先來分析下 將 下面的幾個(gè)數(shù) 放到 二分搜索樹中會(huì)是怎樣的存放 。

注意我們這里用的是二分搜索樹來演示二叉樹的這個(gè)遍歷,才會(huì)有中序遍歷的那個(gè)排序的特征。

5 / \ 3 6 / \ \ 2 4 8

前序遍歷: 5 、3、2、4、6、8

中序遍歷: 2、3、4、5、6、8

后序遍歷 : 2、4、3、8、6、5

其實(shí) , 前序遍歷比較常用。

觀察中序遍歷,可以看到是排序的 ,這個(gè)也很好理解。 畢竟是 左側(cè)的都是小于父節(jié)點(diǎn)的,右側(cè)都是大于父節(jié)點(diǎn)的。

后序遍歷的適用場景,舉個(gè)例子 為二分搜索樹釋放內(nèi)存

前序遍歷、中序遍歷、后續(xù)遍歷本質(zhì)上一種深度遍歷


Code (遞歸)

前序遍歷

/*** * * @Title: preOrder* * @Description: 二分搜索樹的前序遍歷* * * @return: void*/public void preOrder() {preOrder(root);}/*** * * @Title: preOrder* * @Description: 前序遍歷以node為根的二分搜索樹, 遞歸算法* * @param node* * @return: void*/private void preOrder(Node node) {if (node == null) // 終止條件return;System.out.print(node.e + "--"); // 先輸出父節(jié)點(diǎn)preOrder(node.left); // 再遍歷左子樹preOrder(node.right); // 最后遍歷又子樹}

中序遍歷

/*** * * @Title: inOrder* * @Description: 二分搜索樹的中序遍歷* * * @return: void*/public void inOrder() {inOrder(root);}/*** * * @Title: inOrder* * @Description: 中序遍歷以node為根的二分搜索樹, 遞歸算法* * @param node* * @return: void*/private void inOrder(Node node) {if (node == null) // 終止條件return;inOrder(node.left);System.out.println(node.e);inOrder(node.right);}

后序遍歷

/*** * * @Title: postOrder* * @Description: 二分搜索樹的后序遍歷* * * @return: void*/public void postOrder() {postOrder(root);}/*** * * @Title: postOrder* * @Description: 后序遍歷以node為根的二分搜索樹, 遞歸算法* * @param node* * @return: void*/private void postOrder(Node node) {if (node == null) // 終止條件return; postOrder(node.left);postOrder(node.right);System.out.println(node.e);}

測試

public static void main(String[] args) {BinarySearchTree<Integer> bst = new BinarySearchTree<>();int[] nums = { 5, 3, 6, 8, 4, 2 };for (int num : nums) {bst.add(num);}bst.preOrder();System.out.println("============================");bst.inOrder();System.out.println("============================");bst.postOrder();}

Code (非遞歸)

不用遞歸也可以實(shí)現(xiàn),我們要借助Stack來實(shí)現(xiàn)這個(gè)。 推薦使用遞歸的方式,代碼更簡潔。

這里把不用遞歸的代碼也貼一下,供參考

/*** * * @Title: preOrderNR* * @Description: 二分搜索樹的前序遍歷 非遞歸的方式 棧是LIFO ,前序遍歷(先處理左子樹,后處理右子樹)* ,需要先把右節(jié)點(diǎn)入棧,這樣才能確保后處理* * @return: void*/public void preOrderNR() {Stack<Node> stack = new Stack<>();stack.push(root); // 把root入棧while (!stack.isEmpty()) {Node currentNode = stack.pop();System.out.println(currentNode.e);if (currentNode.right != null) {stack.push(currentNode.right);}if (currentNode.left != null) {stack.push(currentNode.left);}}}

總結(jié)

以上是生活随笔為你收集整理的Algorithms_二叉树的前序遍历、中序遍历、后续遍历(深度优先)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲精品在线不卡 | 午夜小视频在线播放 | a一级黄色片| 亚洲一区二区精品在线 | 性色生活片 | 国产精品伦理 | 国产精品一区免费观看 | 久久青青操 | 国产精品乱子伦 | 亚洲AV成人无码精电影在线 | 动漫美女隐私无遮挡 | mm131亚洲精品 | 亚洲av人人澡人人爽人人夜夜 | 国产一级爱| 国产精品第56页 | 日本久久高清视频 | 欧美中出| 性欧美18一19性猛交 | 精品影视 | 国产精品久久久久久久久动漫 | 91成人精品一区在线播放 | 4438亚洲| 色永久 | 可以免费看的黄色网址 | 中文字幕亚洲欧美日韩 | 久久av高潮av无码av喷吹 | 欧美精品一区二区蜜臀亚洲 | 国产国拍精品亚洲 | 在线播放亚洲 | 91一起草| 午夜影院男女 | 日本一区二区三区在线视频 | 午夜精品导航 | 可以在线观看的av | 亚洲男人天堂2019 | 国产无码日韩精品 | 欧美日本道 | 免费毛片一区二区三区久久久 | 李丽珍裸体午夜理伦片 | 日韩av免费在线 | 久久久久久久久久久久久女国产乱 | 国产精品高清无码 | 欧美日韩综合一区二区 | 大地资源中文在线观看免费版 | 国产a视频 | 国产热热 | 在线一区不卡 | 在线观看国产区 | 日韩精品视频一区二区 | 浪潮av一区二区三区 | 精品国产第一页 | 成人在线视频网 | 亚洲xxxx18| 久久97精品久久久久久久不卡 | 国产老妇伦国产熟女老妇视频 | www午夜视频 | aaa国产视频| 久久韩日 | 国产色爽| 在线看中文字幕 | 第一色综合 | 日韩国产中文字幕 | 日韩福利视频在线观看 | 大尺度做爰呻吟舌吻情头 | 极品国产白皙 | 欧美国产二区 | 男人操女人免费视频 | 亚洲精品电影院 | 亚洲黄色片子 | 亚洲欧美激情另类校园 | 少妇高潮21p | 精品免费观看 | 欧美 日韩 国产 一区二区三区 | 谁有毛片网址 | 女生扒开尿口 | 精品视频在线观看 | 91黄色大片| 九色porny原创自拍 | 久久丫精品 | 国产午夜精品在线观看 | 射进来av影视网 | 插吧插吧网 | 亚洲乱码av | 国产福利在线视频 | 亚洲性大片 | 黄网av| 中文字幕在线国产 | 免费在线观看www | 最新国产网站 | 视频区图片区小说区 | 女人扒开腿让男人捅爽 | 亚洲精品第二页 | 爱爱色图 | 波多野结衣视频播放 | 亚洲不卡中文字幕无码 | 日韩精品在线视频免费观看 | 国内自拍偷拍视频 | 亚洲一区免费观看 | 亚洲国产剧情在线观看 |