欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

樹,二叉樹(完全二叉樹,滿二叉樹)概念圖解

 更新時間:2021年07月02日 09:19:38   作者:摸金青年v  
今天小編就為大家分享一篇關(guān)于二叉樹的圖文詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧,希望能對你有所幫助

1、樹的定義

樹是n個結(jié)點的有限集合,有且僅有一個根結(jié)點,其余結(jié)點可分為m個根結(jié)點的子樹

2、樹的概念 

  1. 結(jié)點的度:一個結(jié)點擁有子樹的個數(shù)稱為度。比如A的度為3,C的度為2,H的度為0。度為0的結(jié)點稱為葉子節(jié)點(D,F,G,H)。樹的度是樹中所有結(jié)點的度的最大值,此樹的度為3。
  2. 樹中結(jié)點的最大層次成為樹的深度或高度。此樹的深度為4。
  3. 父節(jié)點A的子結(jié)點B,C,D;B,C,D也是兄弟節(jié)點
  4. 樹的集合稱為森林.樹和森林之間有著密切的關(guān)系.刪除一個樹的根結(jié)點,其所有原來的子樹都是樹,構(gòu)成森林.用一個結(jié)點連接到森林的所有樹的根結(jié)點就構(gòu)成樹.

 3、二叉樹 

        二叉樹是每個節(jié)點最多擁有兩個子節(jié)點,左子樹和右子樹是有順序的不能任意顛倒。

  4、二叉樹遍歷

前序遍歷(前根遍歷):——>左——>右

中序遍歷(中根遍歷):左——>——>右

后序遍歷(后根遍歷):左——>右——>

已知前序和中序,求后序問題,  前序 ABDGCEFH    中序 DGBAECHF

解法:根據(jù)前序、中序綜合判斷畫出樹的節(jié)點圖,然后再寫后序遍歷:DGBEHFCA

(前序和中序的子樹也滿足前序或中序的規(guī)則)

二叉樹的深度優(yōu)先遍歷(DFS)與廣度優(yōu)先遍歷(BFS)

      DFS深度優(yōu)先遍歷:從根節(jié)點出發(fā),沿著左子樹方向進行縱向遍歷,直到找到葉子節(jié)點為止。然后回溯到前一個節(jié)點,進行右子樹節(jié)點的遍歷,直到遍歷完所有可達節(jié)點為止。利用數(shù)據(jù)結(jié)構(gòu)“?!?,父節(jié)點入棧,父節(jié)點出棧,先右子節(jié)點入棧,后左子節(jié)點入棧。遞歸遍歷全部節(jié)點。

DFS:ABDGCEFH

     BFS廣度優(yōu)先遍歷:從根節(jié)點出發(fā),在橫向遍歷二叉樹層段節(jié)點的基礎(chǔ)上縱向遍歷二叉樹的層次。利用數(shù)據(jù)結(jié)構(gòu)“隊列”,父節(jié)點入隊,父節(jié)點出隊列,先左子節(jié)點入隊,后右子節(jié)點入隊。遞歸遍歷全部節(jié)點。

BFS:ABCDGEFH 

5、滿二叉樹 

高度為h,由2^h-1個節(jié)點構(gòu)成的二叉樹稱為滿二叉樹。

 

6、完全二叉樹 

完全二叉樹是由滿二叉樹而引出來的,若設(shè)二叉樹的深度為h,除第 h 層外,其它各層 (1~h-1) 的結(jié)點數(shù)都達到最大個數(shù)(即1~h-1層為一個滿二叉樹),第 h 層所有的結(jié)點都連續(xù)集中在最左邊,這就是完全二叉樹。

堆一般都是用完全二叉樹來實現(xiàn)的。

總結(jié)

本篇文章就到這里了,希望可以給你帶來一些幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • IntelliJ IDEA 2017.1.4 x64配置步驟(介紹)

    IntelliJ IDEA 2017.1.4 x64配置步驟(介紹)

    下面小編就為大家?guī)硪黄狪ntelliJ IDEA 2017.1.4 x64配置步驟(介紹)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Java中的LinkedList底層源碼分析

    Java中的LinkedList底層源碼分析

    這篇文章主要介紹了Java中的LinkedList底層源碼分析,底層基于雙向鏈表,往LinkedList中間插入元素時,不需要移動大量的元素,只需要修改前后節(jié)點的指針,速度快,需要的朋友可以參考下
    2023-12-12
  • 如何查看JVM使用的默認的垃圾收集器

    如何查看JVM使用的默認的垃圾收集器

    這篇文章主要介紹了如何查看JVM使用的默認的垃圾收集器,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • mybatis?plus框架@TableField注解不生效問題及解決方案

    mybatis?plus框架@TableField注解不生效問題及解決方案

    最近遇到一個mybatis plus的問題,@TableField注解不生效,導(dǎo)致查出來的字段反序列化后為空,今天通過本文給大家介紹下mybatis?plus框架的@TableField注解不生效問題總結(jié),需要的朋友可以參考下
    2022-03-03
  • 情人節(jié)寫給女朋友Java Swing代碼程序

    情人節(jié)寫給女朋友Java Swing代碼程序

    這篇文章主要為大家分享了情人節(jié)寫給女朋友的java小程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下,祝大家每天都是情人節(jié)
    2018-02-02
  • java 啟動exe程序,傳遞參數(shù)和獲取參數(shù)操作

    java 啟動exe程序,傳遞參數(shù)和獲取參數(shù)操作

    這篇文章主要介紹了java 啟動exe程序,傳遞參數(shù)和獲取參數(shù)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • Java RabbitMQ的工作隊列與消息應(yīng)答詳解

    Java RabbitMQ的工作隊列與消息應(yīng)答詳解

    這篇文章主要為大家詳細介紹了Python實現(xiàn)學(xué)生成績管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • maven-shade使用解決項目版本沖突

    maven-shade使用解決項目版本沖突

    在Maven項目中,第三方組件依賴可能與項目已有組件版本沖突,直接使用可能會導(dǎo)致項目運行失敗,可以使用maven-shade-plugin插件,本文就來介紹一下maven-shade版本沖突,感興趣的可以了解一下
    2024-10-10
  • 帶你快速上手Servlet

    帶你快速上手Servlet

    這篇文章主要介紹了帶你快速上手Servlet,文中有非常詳細的代碼示例,對正在學(xué)習(xí)java的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • Springboot快速入門教程

    Springboot快速入門教程

    今天給大家?guī)淼氖顷P(guān)于Springboot基礎(chǔ)的相關(guān)知識,文章圍繞著Springboot的基礎(chǔ)知識及用法展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06

最新評論