大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java基礎學習:java遞歸算法

Java基礎學習:java遞歸算法

更新時間:2020-03-19 13:16:57 來源:動力節點 瀏覽2363次


  與數組和鏈表不同,二叉樹有幾種遍歷方式。遍歷算法大致分為深度優先和廣度優先遍歷算法,這取決于算法實際如何工作。顧名思義,深度優先在訪問同級別兄弟之前先向二叉樹縱深訪問,而廣度優先是先訪問同一級別中的所有節點然后再進入下一級別,因此它也被稱為級別順序遍歷。PreOrder和InOrder樹遍歷算法都是深度優先的,預序和中序算法之間的唯一區別是訪問二叉樹的根,左節點和右節點的順序。


  InOrder遍歷算法首先訪問左節點,然后是root節點,最后是右節點。這與首先訪問根的預序遍歷不同。InOrder遍歷的一個重要特性是,如果給定的二叉樹是二叉搜索樹,它將按排序順序打印節點。


  請記住,如果左子樹中的所有節點都低于root并且右子樹中的所有節點都大于root,則二叉樹稱為二叉搜索樹。


  在示例中,使用二叉搜索樹來演示InOrder樹遍歷以排序順序打印二叉樹的節點,并分享了這個問題的遞歸和迭代解決方案。從面試的角度來看,這非常重要。即使遞歸解決方案更容易,占用更少的代碼行,并且更具可讀性,您也應該知道如何在沒有Java遞歸的情況下遍歷二叉樹,以便在編程面試中做得更好。


  Java中InOrder遍歷二叉樹-遞歸

  

  由于二叉樹是遞歸數據結構,因此遞歸是解決基于樹的問題的最佳方法。以下是二叉樹InOrder遍歷的步驟:


  訪問左節點


  訪問root


  訪問右節點


  要實現此算法,您可以使用InOrder遍歷編寫一個方法來遍歷二叉樹的所有節點,方法如下:


  在inOrder(TreeNode節點)中編寫方法


  檢查node==null,如果是,則返回,這是我們的基本情況。


  調用inOrder(node.left)以遞歸方式訪問左子樹


  打印節點的值


  調用inOrder(node.right)以遞歸方式遍歷右子樹。


  這將按照InOrder遍歷打印二叉樹的所有節點。如果二叉樹是二叉搜索樹,則樹的所有節點將按排序順序打印。這是一種在Java中實現InOrder算法的方法:


Java基礎學習:java遞歸算法


  該方法是私有方法,因為它是通過另一個公共方法inorder()公開的,后者不需要來自客戶端的參數。這是一個facade模式的例子,它使客戶端的方法更簡單。遞歸算法很容易理解,深入到左子樹,直到找到葉節點。一旦找到,遞歸堆棧就開始展開,打印節點數據并開始探索右子樹。


  Java中InOrder遍歷二叉樹-迭代


  您可以使用堆棧將遞歸的順序算法轉換為迭代的順序算法。。沒有遞歸的解決方案雖然不容易閱讀,但也不是很難理解。我們從根和進程開始,直到當前節點或Stack不為空。我們開始從左子樹推節點,直到到達葉節點。此時,我們pop()最后一個元素,打印它的值,并通過指定current=current.right開始探索右子樹。這將一直持續到堆棧變空為止,此時,二叉樹的所有元素都被訪問,樹遍歷完成。


Java基礎學習:java遞歸算法


  因為我們的二叉樹是一個二叉搜索樹,所以可以看到它們是按排序順序打印的。


  

    以上就是動力節點Java培訓機構小編介紹的“Java基礎學習:java遞歸算法”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 99热在 | 不卡一区二区在线观看 | 午夜欧美性视频在线播放 | 日韩成人国产精品视频 | 国产大战女模特在线视频 | 国产精品免费观看视频 | 国产精品无 | 免看一级一片一在线看 | 亚洲精品亚洲人成在线 | 四虎国产在线观看 | 亚洲视频一区在线观看 | 香蕉视频亚洲一级 | 久9视频这里只有精品8 | 亚洲精品一区二区三区国产 | 日韩精品片 | 亚洲区精品| 精品福利在线视频 | 精品999久久久久久中文字幕 | 开心激情四房 | 日本一区二区三区四区在线观看 | 久久er国产精品免费观看8 | 在线不卡一区 | 国产亚洲精品久久久久久久软件 | www.一区| 免费视频亚洲 | 国产免费青青青免费视频观看 | 在线人成精品免费视频 | 午夜视频福利在线 | 精品999视频 | 国产精品一区二区三区免费视频 | 色久优优 欧美色久优优 | 国产精品bdsm在线调教 | 欧美区国产区 | 色噜噜狠狠狠狠色综合久一 | 久久精品综合网 | 亚洲黄色自拍 | 精品一二区| 天天操天天操天天干 | 女人18毛片a级毛片免费视频 | 五月婷婷伊人 | 欧美亚洲国产成人高清在线 |