最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

1、樹的定義

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

2、樹的概念 

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

 3、二叉樹 

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

  4、二叉樹遍歷

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

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

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

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

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

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

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

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

DFS:ABDGCEFH

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

BFS:ABCDGEFH 

5、滿二叉樹 

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

 

6、完全二叉樹 

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

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

總結(jié)

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

相關(guān)文章

  • springBoot使用JdbcTemplate代碼實(shí)例

    springBoot使用JdbcTemplate代碼實(shí)例

    這篇文章主要介紹了springBoot使用JdbcTemplate代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Java Char的簡單工具類CharUtil分享

    Java Char的簡單工具類CharUtil分享

    下面小編就為大家分享一篇Java Char的簡單工具類CharUtil,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • Spring注解 TX聲明式事務(wù)實(shí)現(xiàn)過程解析

    Spring注解 TX聲明式事務(wù)實(shí)現(xiàn)過程解析

    這篇文章主要介紹了Spring注解 - TX 聲明式事務(wù)實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • JDBC Template基本使用方法詳解

    JDBC Template基本使用方法詳解

    這篇文章主要介紹了JDBC Template基本使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 利用Java+Selenium+OpenCV模擬實(shí)現(xiàn)網(wǎng)頁滑動(dòng)驗(yàn)證

    利用Java+Selenium+OpenCV模擬實(shí)現(xiàn)網(wǎng)頁滑動(dòng)驗(yàn)證

    目前很多網(wǎng)頁都有滑動(dòng)驗(yàn)證,目的就是防止不良爬蟲扒他們網(wǎng)站的數(shù)據(jù)。本文將介紹通過Java Selenium OpenCV解決網(wǎng)頁滑塊驗(yàn)證,需要的可以參考一下
    2022-01-01
  • Spring Cloud Alibaba教程之Sentinel的使用

    Spring Cloud Alibaba教程之Sentinel的使用

    這篇文章主要介紹了Spring Cloud Alibaba教程之Sentinel的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Java Spring詳解如何配置數(shù)據(jù)源注解開發(fā)以及整合Junit

    Java Spring詳解如何配置數(shù)據(jù)源注解開發(fā)以及整合Junit

    Spring 是目前主流的 Java Web 開發(fā)框架,是 Java 世界最為成功的框架。該框架是一個(gè)輕量級(jí)的開源框架,具有很高的凝聚力和吸引力,本篇文章帶你了解如何配置數(shù)據(jù)源、注解開發(fā)以及整合Junit
    2021-10-10
  • Java @Pointcut注解表達(dá)式案例詳解

    Java @Pointcut注解表達(dá)式案例詳解

    這篇文章主要介紹了Java @Pointcut注解表達(dá)式案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • SpringBoot實(shí)現(xiàn)HTTP服務(wù)監(jiān)聽的代碼示例

    SpringBoot實(shí)現(xiàn)HTTP服務(wù)監(jiān)聽的代碼示例

    前后端分離項(xiàng)目中,在調(diào)用接口調(diào)試時(shí)候,我們可以通過cpolar內(nèi)網(wǎng)穿透將本地服務(wù)端接口模擬公共網(wǎng)絡(luò)環(huán)境遠(yuǎn)程調(diào)用調(diào)試,本次教程我們以Java服務(wù)端接口為例,需要的朋友可以參考下
    2023-05-05
  • Java中的3種輸入方式實(shí)現(xiàn)解析

    Java中的3種輸入方式實(shí)現(xiàn)解析

    這篇文章主要介紹了Java中的3種輸入方式實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10

最新評(píng)論

微山县| 县级市| 太原市| 金沙县| 大足县| 荥经县| 册亨县| 泰宁县| 永定县| 鄂伦春自治旗| 晋州市| 红原县| 全椒县| 高清| 新兴县| 湛江市| 新乡市| 礼泉县| 贞丰县| 新密市| 夹江县| 赫章县| 泰州市| 建始县| 瑞金市| 中江县| 彰武县| 武山县| 宾川县| 丽水市| 哈巴河县| 龙里县| 大方县| 咸阳市| 襄樊市| 嘉义县| 溆浦县| 岑巩县| 扬中市| 土默特右旗| 当雄县|