<strike id="ca4is"><em id="ca4is"></em></strike>
  • <sup id="ca4is"></sup>
    • <s id="ca4is"><em id="ca4is"></em></s>
      <option id="ca4is"><cite id="ca4is"></cite></option>
    • 二維碼
      企資網

      掃一掃關注

      當前位置: 首頁 » 企業資訊 » 熱點 » 正文

      小白科普丨何為樹_二叉樹和森林

      放大字體  縮小字體 發布日期:2023-03-08 21:19:12    作者:江明杰    瀏覽次數:101
      導讀

      本文分享自華為云社區《樹、二叉樹和森林的表示及相互轉換-云社區-華為云》,作者:1+1=王。樹的基本概念樹的定義:樹是n(n = 0)個節點的==有限==集。當n=0是,稱為空樹。樹的特點:(1)樹的根沒有前驅,除根外的

      本文分享自華為云社區《樹、二叉樹和森林的表示及相互轉換-云社區-華為云》,作者:1+1=王。

      樹的基本概念
    • 樹的定義:樹是n(n >= 0)個節點的==有限==集。當n=0是,稱為空樹。
    • 樹的特點:
      (1)樹的根沒有前驅,除根外的其他節點有且僅有一個前驅;
      (2)每個節點都可以有零個或多個后繼。
    • 術語:
      (1)節點的度:樹中一個節點的孩子個數。
      (2)樹的度:樹中節點的最大度。
      (3)分支節點:度大于0的節點。
      (4)葉子結點:度為0的節點。
      (5)節點的深度:從根節點開始自頂向下逐層累加。
      (6)節點的高度:從葉子節點開始自底向上逐層累加。
      (7)樹的高度:樹中節點的最大層數。
      (8)路徑:兩個節點之間所經過的節點序列。
      (9)路徑長度:路徑上所經過的邊的個數。
      (10)森林:m(m >= 0)棵互不相交的樹的集合。二叉樹的基本概念
    • 二叉樹的定義:一種特殊的樹形結構,它的特點是每個節點至多有兩顆子樹(即二叉樹中不存在度大于2的節點),并且二叉樹的子樹有左右之分,不能隨意顛倒。
    • 幾種特殊的二叉樹:
      (1)滿二叉樹:一棵高度為h,且含有2^h - 1個節點的二叉樹。
      (2)完全二叉樹:對應相同高度的滿二叉樹缺失最下層最右邊的一些連續葉子結點。
      (3)二叉排序樹:左子樹上所有節點的關鍵字都小于根節點的關鍵字;右子樹上所有節點的關鍵字都大于根節點的關鍵字;左子樹和右子樹又各是一棵二叉排序樹。(左 < 根 < 右)
      (4)平衡二叉樹:任一節點的左子樹和右子樹的深度之差不超過1的二叉排序樹。
    • 二叉樹的性質:
      (1)二叉樹的第i層上至多有2^i-1^個節點;
      (2)深度為h的二叉樹至多有2^k^ - 1個節點;
      (3)對任何一個二叉樹,若其終端節點樹為n0,度為2的節點樹為n2,則n0 = n2 + 1;
      (4)具有n個節點的完全二叉樹的深度為log~2~(n + 1)向上取整。
      (5)對完全二叉樹按從上到下、從左到右的順序依次編號1,2,3,…,則有以下關系:
      a. 當i>1時,節點i的雙親的編號為i / 2;
      b. 當2i<=n時,節點i的左孩子編號為2i,否則無左孩子;
      c. 當2i+1<=n時,節點i的右孩子編號為2i+1,否則無右孩子;
      d.節點i所在層次為log~2~i + 1(向下取整)。存儲結構二叉樹的存儲結構
    • 順序存儲結構:用一組地址連續的存儲單元依次自上而下、自左至右存儲完全二叉樹上的結點元素,即將完全二叉樹上編號為i的結點元素存儲在某個數組下標為i-1的分量中。(適合完全二叉樹和滿二叉樹)
    • 鏈式存儲結構:使用鏈表節點來存儲二叉樹中的每個節點。二叉鏈表包括數據域data、左指針域lchild和右指針域rchild三個域。

      typedef struct BiTNode{TElemType data;struct BiTNode *lchild, *rchild;}BiTNode,*BiTree;樹的存儲結構

    • 雙親表示法:用一組連續空間來存儲樹的每個結點,同時在每個結點中,附設一個指示器指示其雙親結點到鏈表中的位置。

      #define MAX_TREE_SIZE 100//節點最大個數typedef struct PTNode{//節點結構TElemType data;int parent;//雙親位置域}PTNode;typedef struct{//樹結構PTNode nodes[MAX_TREE_SIZE ];int root,n;//根的位置和節點數}PTree;

    • 孩子表示法:將沒得節點的孩子節點都用單鏈表鏈接起來形成一個線性結構,此時n個節點就有n個孩子鏈表。

      #define MAX_TREE_SIZE 100//節點最大個數typedef struct CTNode{//孩子節點int child;struct CTNode *next;}*ChildPtr;typedef struct{TElemType data;ChildPtr firstChild;//孩子鏈表頭指針}CTBox;typedef struct{//樹結構CTBox nodes[MAX_TREE_SIZE ];int root,n;//根的位置和節點數}CTree;

    • 孩子兄弟表示法(二叉樹表示法):以二叉鏈表作為樹的存儲結構。每個節點包括三部分內容:節點值、指向第一個孩子結點的指針和指向下一個兄弟節點的指針。

      typedef struct CSNode{//節點結構TElemType data;struct CSNode *firstChild,*nextSibling;}CSNode,*CSTree;樹、二叉樹和森林的相互轉換樹轉換為二叉樹

    • 規則:每個節點左指針指向它的第一個孩子,右指針指向它在樹中的相鄰右兄弟。由于根節點沒有兄弟,所以對應的二叉樹沒有右子樹。
    • 畫法:(1)在兄弟節點之間加一條線;(2)在每棵樹根之間加一條線;(3)以第一棵根為軸心,順時針旋轉45度。森林轉換為二叉樹
    • 規則:先將森林中的每棵樹轉換為二叉樹,由于任何一棵和樹對應的二叉樹的右子樹為空,若把森林中第二棵樹根視為第一棵樹根的右兄弟,即將第二棵樹對應的二叉樹當做第一棵二叉樹根的右子樹,將第三棵樹對應的二叉樹當做第二棵二叉樹根的右子樹…以此類推,即可將森林轉換為二叉樹。
    • 畫法:(1)將森林中的每棵樹轉換為二叉樹;(2)對每個節點,只保留它與第一個孩子的連線;(3)以根為軸心,順時針旋轉45度。二叉樹轉換為森林
    • 若二叉樹非空,則二叉樹的根及其左子樹為第一棵樹的二叉樹形式,將根與右子樹斷開
    • 將右子樹視為一棵新的二叉樹,重復第一步。

      點擊下方,第一時間了解華為云新鮮技術~

      華為云博客_大數據博客_AI博客_云計算博客_開發者中心-華為云

      #華為云開發者聯盟#

    •  
      (文/江明杰)
      免責聲明
      本文僅代表作發布者:江明杰個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們刪除處理郵件:weilaitui@qq.com。
       

      Copyright ? 2016 - 2025 - 企資網 48903.COM All Rights Reserved 粵公網安備 44030702000589號

      粵ICP備16078936號

      微信

      關注
      微信

      微信二維碼

      WAP二維碼

      客服

      聯系
      客服

      聯系客服:

      在線QQ: 303377504

      客服電話: 020-82301567

      E_mail郵箱: weilaitui@qq.com

      微信公眾號: weishitui

      客服001 客服002 客服003

      工作時間:

      周一至周五: 09:00 - 18:00

      反饋

      用戶
      反饋

      午夜久久久久久网站,99久久www免费,欧美日本日韩aⅴ在线视频,东京干手机福利视频
        <strike id="ca4is"><em id="ca4is"></em></strike>
      • <sup id="ca4is"></sup>
        • <s id="ca4is"><em id="ca4is"></em></s>
          <option id="ca4is"><cite id="ca4is"></cite></option>
        • 主站蜘蛛池模板: 好吊妞欧美视频免费| 韩国爱情电影妈妈的朋友| 欧美视频在线播放bbxxx| 搡女人免费免费视频观看| 国产精品无码素人福利| 亚洲精品一二区| 久久久久国产精品免费免费不卡| 55夜色66夜色| 男女特黄一级全版视频| 日本xxxx色视频在线播放| 国产精品18久久久久久麻辣| 亚洲国产精品第一区二区| JLZZJLZZ全部女高潮| 韩国理论片久久电影网| 日韩欧国产精品一区综合无码| 国产女高清在线看免费观看| 亚洲欧洲国产经精品香蕉网| 4ayy私人影院| 波多野结衣一区二区三区88| 妇女自拍偷自拍亚洲精品| 国产一级做a爰片久久毛片| 乱人伦中文字幕电影| 大胸喷奶水的www的视频网站| 欧美黑寡妇黑粗硬一级在线视频| 女人让男生桶的视频免费| 亚洲黄色a级片| 4jzbtv四季彩app下载| 机机对在一起30分钟软件下载 | 久久久久久久国产a∨| 亚洲国产激情在线一区| 欧美性受xxxx狂喷水| 在线精品小视频| 先锋影音av资源网| 久久久久久AV无码免费看大片| 草草浮力影院第一页入口| 日本老头变态xxxx| 噜噜噜噜噜在线观看视频| a级aaaaaaaa毛片| 欧美亚洲综合在线观看| 国产精品免费无遮挡无码永久视频| 亚洲精品中文字幕无码av|