国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【數(shù)據(jù)結(jié)構(gòu)】二叉樹的概念及結(jié)構(gòu)

這篇具有很好參考價(jià)值的文章主要介紹了【數(shù)據(jù)結(jié)構(gòu)】二叉樹的概念及結(jié)構(gòu)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

【數(shù)據(jù)結(jié)構(gòu)】二叉樹的概念及結(jié)構(gòu)

??write in front??
??所屬專欄: 初階數(shù)據(jù)結(jié)構(gòu)
???博客主頁(yè):睿睿的博客主頁(yè)
???代碼倉(cāng)庫(kù):??VS2022_C語(yǔ)言倉(cāng)庫(kù)
??您的點(diǎn)贊、關(guān)注、收藏、評(píng)論,是對(duì)我最大的激勵(lì)和支持?。。?br>關(guān)注我,關(guān)注我,關(guān)注我你們將會(huì)看到更多的優(yōu)質(zhì)內(nèi)容?。?/p>

【數(shù)據(jù)結(jié)構(gòu)】二叉樹的概念及結(jié)構(gòu)

前言

一.樹概念及結(jié)構(gòu)

1.樹的概念:

樹是一種非線性的數(shù)據(jù)結(jié)構(gòu),它是由n(n>=0)個(gè)有限結(jié)點(diǎn)組成一個(gè)具有層次關(guān)系的集合。把它叫做樹是因?yàn)?strong>它看起來(lái)像一棵倒掛的樹,也就是說(shuō)它是根朝上,而葉朝下的。

特點(diǎn):

  • 有一個(gè)特殊的結(jié)點(diǎn),稱為根結(jié)點(diǎn),根節(jié)點(diǎn)沒有前驅(qū)結(jié)點(diǎn)
  • 除根節(jié)點(diǎn)外,其余結(jié)點(diǎn)被分成M(M>0)個(gè)互不相交的集合T1、T2、……、Tm,其中每一個(gè)集合Ti(1<= i <= m)又是一棵結(jié)構(gòu)與樹類似的子樹。每棵子樹的根結(jié)點(diǎn)有且只有一個(gè)前驅(qū),可以有0個(gè)或多個(gè)后繼
  • 樹是遞歸定義的。
    【數(shù)據(jù)結(jié)構(gòu)】二叉樹的概念及結(jié)構(gòu)
    【數(shù)據(jù)結(jié)構(gòu)】二叉樹的概念及結(jié)構(gòu)

注意
??樹形結(jié)構(gòu)中,子樹之間不能有交集,否則就不是樹形結(jié)構(gòu)。每個(gè)節(jié)點(diǎn)只有一個(gè)父結(jié)點(diǎn),對(duì)于N個(gè)節(jié)點(diǎn)都有N-1條邊與之對(duì)應(yīng),
【數(shù)據(jù)結(jié)構(gòu)】二叉樹的概念及結(jié)構(gòu)

2 樹的相關(guān)概念

【數(shù)據(jù)結(jié)構(gòu)】二叉樹的概念及結(jié)構(gòu)

  • 節(jié)點(diǎn)的度:一個(gè)節(jié)點(diǎn)含有的子樹的個(gè)數(shù)稱為該節(jié)點(diǎn)的度; 如上圖:A的為6
  • 葉節(jié)點(diǎn)或終端節(jié)點(diǎn):度為0的節(jié)點(diǎn)稱為葉節(jié)點(diǎn); 如上圖:B、C、H、I…等節(jié)點(diǎn)為葉節(jié)點(diǎn)
  • 非終端節(jié)點(diǎn)或分支節(jié)點(diǎn):度不為0的節(jié)點(diǎn); 如上圖:D、E、F、G…等節(jié)點(diǎn)為分支節(jié)點(diǎn)
  • 雙親節(jié)點(diǎn)或父節(jié)點(diǎn):若一個(gè)節(jié)點(diǎn)含有子節(jié)點(diǎn),則這個(gè)節(jié)點(diǎn)稱為其子節(jié)點(diǎn)的父節(jié)點(diǎn); 如上圖:A是B的父節(jié)點(diǎn)
  • 孩子節(jié)點(diǎn)或子節(jié)點(diǎn):一個(gè)節(jié)點(diǎn)含有的子樹的根節(jié)點(diǎn)稱為該節(jié)點(diǎn)的子節(jié)點(diǎn); 如上圖:B是A的孩子節(jié)點(diǎn)
  • 兄弟節(jié)點(diǎn):具有相同父節(jié)點(diǎn)的節(jié)點(diǎn)互稱為兄弟節(jié)點(diǎn); 如上圖:B、C是兄弟節(jié)點(diǎn)
  • 樹的度:一棵樹中,最大的節(jié)點(diǎn)的度稱為樹的度; 如上圖:樹的度為6
    節(jié)點(diǎn)的層次:從根開始定義起,根為第1層,根的子節(jié)點(diǎn)為第2層,以此類推;
  • 樹的高度或深度樹中節(jié)點(diǎn)的最大層次; 如上圖:樹的高度為4
  • 堂兄弟節(jié)點(diǎn):雙親在同一層的節(jié)點(diǎn)互為堂兄弟;如上圖:H、I互為兄弟節(jié)點(diǎn)
  • 節(jié)點(diǎn)的祖先:從根到該節(jié)點(diǎn)所經(jīng)分支上的所有節(jié)點(diǎn);如上圖:A是所有節(jié)點(diǎn)的祖先
  • 子孫以某節(jié)點(diǎn)為根的子樹中任一節(jié)點(diǎn)都稱為該節(jié)點(diǎn)的子孫。如上圖:所有節(jié)點(diǎn)都是A的子孫
  • 森林:由m(m>0)棵互不相交的樹的集合稱為森林;

3.樹的表示

樹結(jié)構(gòu)要存儲(chǔ)表示起來(lái)就比較麻煩了,既然保存值域,也要保存結(jié)點(diǎn)和結(jié)點(diǎn)之間的關(guān)系,實(shí)際中樹有很多種表示方式如:雙親表示法,孩子表示法、孩子雙親表示法以及孩子兄弟表示法等。我們這里就簡(jiǎn)單的了解其中最常用的孩子兄弟表示法

typedef int DataType;
struct Node
{
 struct Node* _firstChild1; // 第一個(gè)孩子結(jié)點(diǎn)
 struct Node* _pNextBrother; // 指向其下一個(gè)兄弟結(jié)點(diǎn)
 DataType _data; // 結(jié)點(diǎn)中的數(shù)據(jù)域
};

在這里就是通過第一個(gè)孩子,這個(gè)孩子的兄弟關(guān)系來(lái)存儲(chǔ)相應(yīng)的關(guān)系,圖解如下:
【數(shù)據(jù)結(jié)構(gòu)】二叉樹的概念及結(jié)構(gòu)

4 樹在實(shí)際中的運(yùn)用(表示文件系統(tǒng)的目錄樹結(jié)構(gòu))

【數(shù)據(jù)結(jié)構(gòu)】二叉樹的概念及結(jié)構(gòu)

二.二叉樹概念及結(jié)構(gòu)

1.概念:

一棵二叉樹是結(jié)點(diǎn)的一個(gè)有限集合,該集合:

  1. 或者為空
  2. 由一個(gè)根節(jié)點(diǎn)加上兩棵別稱為左子樹和右子樹的二叉樹組成

【數(shù)據(jù)結(jié)構(gòu)】二叉樹的概念及結(jié)構(gòu)
從上圖可以看出:

  1. 二叉樹不存在度大于2的結(jié)點(diǎn)
  2. 二叉樹的子樹有左右之分次序不能顛倒,因此二叉樹是有序樹

注意:對(duì)于任意的二叉樹都是由以下幾種情況復(fù)合而成的
【數(shù)據(jù)結(jié)構(gòu)】二叉樹的概念及結(jié)構(gòu)

我們可以看看現(xiàn)實(shí)里的二叉樹:
【數(shù)據(jù)結(jié)構(gòu)】二叉樹的概念及結(jié)構(gòu)

2.特殊的二叉樹:

滿二叉樹:

??一個(gè)二叉樹,如果每一個(gè)層的結(jié)點(diǎn)數(shù)都達(dá)到最大值,則這個(gè)二叉樹就是滿二叉樹。也就是說(shuō),如果一個(gè)二叉樹的層數(shù)為K,且結(jié)點(diǎn)總數(shù)是 ,則它就是滿二叉樹。
【數(shù)據(jù)結(jié)構(gòu)】二叉樹的概念及結(jié)構(gòu)

完全二叉樹:

完全二叉樹是效率很高的數(shù)據(jù)結(jié)構(gòu),完全二叉樹是由滿二叉樹而引出來(lái)的。對(duì)于n層二叉樹,只要前n-1層是滿的 最后一層要求從左到右是連續(xù)的,那么這就是一顆完全二叉樹! 要注意的是滿二叉樹是一種特殊的完全二叉樹。

【數(shù)據(jù)結(jié)構(gòu)】二叉樹的概念及結(jié)構(gòu)

3.二叉樹的性質(zhì):

  • 若規(guī)定根節(jié)點(diǎn)的層數(shù)為1,則一棵非空二叉樹的第i層上最多有 2^(i-1)個(gè)結(jié)點(diǎn).

【數(shù)據(jù)結(jié)構(gòu)】二叉樹的概念及結(jié)構(gòu)

  • 若規(guī)定根節(jié)點(diǎn)的層數(shù)為1,則深度為h的滿二叉樹的最大結(jié)點(diǎn)數(shù)是 2^(h)-1個(gè)結(jié)點(diǎn)(等比數(shù)列求和).
  • 高度為h的完全二叉樹,節(jié)點(diǎn)數(shù)量的范圍是[2^(h-1), 2^h-1].
  • 對(duì)任何一棵二叉樹, 如果度為0其葉結(jié)點(diǎn)個(gè)數(shù)為n0 , 度為2的分支結(jié)點(diǎn)個(gè)數(shù)為n2 ,則有 n0=n2+1.
  • 若規(guī)定根節(jié)點(diǎn)的層數(shù)為1,具有n個(gè)結(jié)點(diǎn)的滿二叉樹的深度,h= log2(n+1). (ps: 是log以2為底,n+1為對(duì)數(shù))
  • 完全二叉樹里度為1的節(jié)點(diǎn)只有1個(gè)或0個(gè)。

三.相關(guān)練習(xí)題:

例1:

【數(shù)據(jù)結(jié)構(gòu)】二叉樹的概念及結(jié)構(gòu)
答案:B

解析:根據(jù)n0=n2+1

例2:

【數(shù)據(jù)結(jié)構(gòu)】二叉樹的概念及結(jié)構(gòu)
答案:A
【數(shù)據(jù)結(jié)構(gòu)】二叉樹的概念及結(jié)構(gòu)

例3:

【數(shù)據(jù)結(jié)構(gòu)】二叉樹的概念及結(jié)構(gòu)
答案:B
【數(shù)據(jù)結(jié)構(gòu)】二叉樹的概念及結(jié)構(gòu)

例3:

【數(shù)據(jù)結(jié)構(gòu)】二叉樹的概念及結(jié)構(gòu)
答案:B
解析:有的同學(xué)可能會(huì)問為什么不直接用767-512,這樣算出來(lái)的結(jié)點(diǎn)是最后一層的結(jié)點(diǎn)數(shù),并不是葉子結(jié)點(diǎn)(第n-1層也有葉子結(jié)點(diǎn)),所以我們不能這樣算。
正確方法:
【數(shù)據(jù)結(jié)構(gòu)】二叉樹的概念及結(jié)構(gòu)

總結(jié)

??更新不易,辛苦各位小伙伴們動(dòng)動(dòng)小手,??三連走一走???? ~ ~ ~ 你們真的對(duì)我很重要!最后,本文仍有許多不足之處,歡迎各位認(rèn)真讀完文章的小伙伴們隨時(shí)私信交流、批評(píng)指正!

專欄訂閱:
每日一題
c語(yǔ)言學(xué)習(xí)
算法
智力題
初階數(shù)據(jù)結(jié)構(gòu)
更新不易,辛苦各位小伙伴們動(dòng)動(dòng)小手,??三連走一走???? ~ ~ ~ 你們真的對(duì)我很重要!最后,本文仍有許多不足之處,歡迎各位認(rèn)真讀完文章的小伙伴們隨時(shí)私信交流、批評(píng)指正!

【數(shù)據(jù)結(jié)構(gòu)】二叉樹的概念及結(jié)構(gòu)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-422119.html

到了這里,關(guān)于【數(shù)據(jù)結(jié)構(gòu)】二叉樹的概念及結(jié)構(gòu)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言實(shí)現(xiàn))——二叉樹的概念及二叉樹順序結(jié)構(gòu)和鏈?zhǔn)浇Y(jié)構(gòu)的實(shí)現(xiàn)(堆排序+TOP-K問題+鏈?zhǔn)蕉鏄湎嚓P(guān)操作)

    數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言實(shí)現(xiàn))——二叉樹的概念及二叉樹順序結(jié)構(gòu)和鏈?zhǔn)浇Y(jié)構(gòu)的實(shí)現(xiàn)(堆排序+TOP-K問題+鏈?zhǔn)蕉鏄湎嚓P(guān)操作)

    前面學(xué)習(xí)了數(shù)據(jù)結(jié)構(gòu)中線性結(jié)構(gòu)的幾種結(jié)構(gòu),順序表,鏈表,棧和隊(duì)列等,今天我們來(lái)學(xué)習(xí)一種非線性的數(shù)據(jù)結(jié)構(gòu)——樹。由于二叉樹是數(shù)據(jù)結(jié)構(gòu)中的一個(gè)重點(diǎn)和難點(diǎn),所以本文著重介紹二叉樹的相關(guān)概念和性質(zhì),以及二叉樹的應(yīng)用。 樹是一種非線性的數(shù)據(jù)結(jié)構(gòu),它是由n(

    2023年04月21日
    瀏覽(24)
  • 數(shù)據(jù)結(jié)構(gòu)——二叉樹的基本概念及順序存儲(chǔ)(堆)

    數(shù)據(jù)結(jié)構(gòu)——二叉樹的基本概念及順序存儲(chǔ)(堆)

    目錄 一.前言 二.樹概念及結(jié)構(gòu) 2.1 樹的概念 2.2 樹的相關(guān)概念 2.3 樹的表現(xiàn) 2.4 樹在實(shí)際中的應(yīng)用(表示文件系統(tǒng)的目錄樹結(jié)構(gòu)) 三.二叉樹的概念及結(jié)構(gòu) 3.1 概念 3.2 特殊的二叉樹 3.3?二叉樹的性質(zhì) 3.4 二叉樹的存儲(chǔ)結(jié)構(gòu) 3.4.1 順序存儲(chǔ) 3.4.2 鏈?zhǔn)酱鎯?chǔ) 四.二叉樹順序結(jié)構(gòu)及實(shí)現(xiàn)

    2024年02月08日
    瀏覽(30)
  • 【樹與二叉樹】二叉樹順序結(jié)構(gòu)實(shí)現(xiàn)以及堆的概念及結(jié)構(gòu)--詳解介紹

    【樹與二叉樹】二叉樹順序結(jié)構(gòu)實(shí)現(xiàn)以及堆的概念及結(jié)構(gòu)--詳解介紹

    ? ???個(gè)人主頁(yè):@Sherry的成長(zhǎng)之路 ??學(xué)習(xí)社區(qū):Sherry的成長(zhǎng)之路(個(gè)人社區(qū)) ??專欄鏈接:數(shù)據(jù)結(jié)構(gòu) ?? 長(zhǎng)路漫漫浩浩,萬(wàn)事皆有期待 普通二叉樹是不適合用數(shù)組來(lái)存儲(chǔ)的,因?yàn)榭赡軙?huì)存在大量的空間浪費(fèi)。而 完全二叉樹適合使用順序結(jié)構(gòu)存儲(chǔ) ?,F(xiàn)實(shí)中我們通常把 堆

    2023年04月24日
    瀏覽(21)
  • 【數(shù)據(jù)結(jié)構(gòu)和算法】---二叉樹(1)--樹概念及結(jié)構(gòu)

    【數(shù)據(jù)結(jié)構(gòu)和算法】---二叉樹(1)--樹概念及結(jié)構(gòu)

    樹是一種 非線性的數(shù)據(jù)結(jié)構(gòu) ,它是由n(n=0)個(gè)有限結(jié)點(diǎn)組成一個(gè)具有層次關(guān)系的集合。之所以叫它樹,是因?yàn)閷⒋私Y(jié)構(gòu)倒轉(zhuǎn)后與現(xiàn)實(shí)生活中的樹極其相似,一個(gè)主干分出多個(gè)分支,分支還可繼續(xù)分展。 有一個(gè)特殊的結(jié)點(diǎn),稱為 根結(jié)點(diǎn) ,根節(jié)點(diǎn)沒有前驅(qū)結(jié)點(diǎn); 除根節(jié)點(diǎn)外,

    2024年02月03日
    瀏覽(18)
  • 十二、數(shù)據(jù)結(jié)構(gòu)——二叉樹基本概念及特點(diǎn)

    十二、數(shù)據(jù)結(jié)構(gòu)——二叉樹基本概念及特點(diǎn)

    一、二叉樹的基本概念 二、二叉樹的特點(diǎn) 三、二叉樹的分類 四、二叉樹的存儲(chǔ)結(jié)構(gòu) (一)、順序存儲(chǔ) (二)、鏈?zhǔn)酱鎯?chǔ) 二叉樹是一種重要的數(shù)據(jù)結(jié)構(gòu),它是每個(gè)節(jié)點(diǎn)最多有兩個(gè)子節(jié)點(diǎn)的樹結(jié)構(gòu)。在二叉樹中,每個(gè)節(jié)點(diǎn)都可以有左子節(jié)點(diǎn)和右子節(jié)點(diǎn),也可以沒有子節(jié)點(diǎn)。 每個(gè)節(jié)

    2024年02月15日
    瀏覽(23)
  • 數(shù)據(jù)結(jié)構(gòu)入門(C語(yǔ)言版)二叉樹概念及結(jié)構(gòu)(入門)

    數(shù)據(jù)結(jié)構(gòu)入門(C語(yǔ)言版)二叉樹概念及結(jié)構(gòu)(入門)

    1.1 樹的概念 樹是一種非線性的數(shù)據(jù)結(jié)構(gòu),它是由n(n=0)個(gè)有限結(jié)點(diǎn)組成一個(gè)具有層次關(guān)系的集合。把它叫做樹是因?yàn)樗雌饋?lái)像一棵倒掛的樹,也就是說(shuō)它是根朝上,而葉朝下的。 ☆有一個(gè)特殊的結(jié)點(diǎn),稱為根結(jié)點(diǎn),根節(jié)點(diǎn)沒有前驅(qū)結(jié)點(diǎn) ☆除根節(jié)點(diǎn)外,其余結(jié)點(diǎn)被分成M

    2023年04月14日
    瀏覽(22)
  • 【數(shù)據(jù)結(jié)構(gòu)】樹、二叉樹的概念和二叉樹的順序結(jié)構(gòu)及實(shí)現(xiàn)

    【數(shù)據(jù)結(jié)構(gòu)】樹、二叉樹的概念和二叉樹的順序結(jié)構(gòu)及實(shí)現(xiàn)

    之前我們學(xué)習(xí)了順序表、鏈表以及棧和隊(duì)列這些數(shù)據(jù)結(jié)構(gòu),但這些數(shù)據(jù)結(jié)構(gòu)都是線性的(一對(duì)一)。接下來(lái)要學(xué)習(xí) 非線性的數(shù)據(jù)結(jié)構(gòu)——樹(二叉樹) ,相比前面的,樹的結(jié)構(gòu)更加復(fù)雜,話不多說(shuō),直接進(jìn)入正題吧。 樹是一種 非線性的數(shù)據(jù)結(jié)構(gòu) ,它是 一對(duì)多(也有可能是

    2024年02月07日
    瀏覽(27)
  • 數(shù)據(jù)結(jié)構(gòu)——二叉樹的鏈?zhǔn)浇Y(jié)構(gòu)

    數(shù)據(jù)結(jié)構(gòu)——二叉樹的鏈?zhǔn)浇Y(jié)構(gòu)

    ? 個(gè)人主頁(yè) : 日刷百題 系列專欄 : 〖C語(yǔ)言小游戲〗〖Linux〗〖數(shù)據(jù)結(jié)構(gòu)〗 ?〖C語(yǔ)言〗 ?? 歡迎各位 → 點(diǎn)贊 ??+ 收藏 ??+ 留言 ??? ? 這里我們使用先序遍歷的思想來(lái)創(chuàng)建二叉樹,這里的內(nèi)容對(duì)于剛接觸二叉樹的朋友可能有些難理解,不妨先看完下面的二叉樹各種遍歷

    2024年02月05日
    瀏覽(31)
  • 【數(shù)據(jù)結(jié)構(gòu)】二叉樹的鏈?zhǔn)浇Y(jié)構(gòu)

    【數(shù)據(jù)結(jié)構(gòu)】二叉樹的鏈?zhǔn)浇Y(jié)構(gòu)

    學(xué)習(xí)鏈?zhǔn)蕉鏄湟廊N遍歷方式,便于對(duì)二叉樹的節(jié)點(diǎn)以及左子樹和右子樹進(jìn)行操作。 前序遍歷:根、左子樹、右子樹 中序遍歷:左子樹、根、右子樹 后序遍歷:左子樹、右子樹、根 以下圖為例: 得到的結(jié)果: 前序遍歷:1 2 3 4 5 6 中序遍歷:3 2 1 5 4 6 后序遍歷:3 2

    2024年02月08日
    瀏覽(29)
  • 數(shù)據(jù)結(jié)構(gòu):二叉樹的鏈?zhǔn)浇Y(jié)構(gòu)

    數(shù)據(jù)結(jié)構(gòu):二叉樹的鏈?zhǔn)浇Y(jié)構(gòu)

    朋友們、伙計(jì)們,我們又見面了,本期來(lái)給大家解讀一下鏈?zhǔn)蕉鏄涞南嚓P(guān)知識(shí)點(diǎn),如果看完之后對(duì)你有一定的啟發(fā),那么請(qǐng)留下你的三連,祝大家心想事成! 數(shù)據(jù)結(jié)構(gòu)與算法專欄 :數(shù)據(jù)結(jié)構(gòu)與算法 個(gè)? 人? 主? 頁(yè) :stackY、 C 語(yǔ) 言 專 欄 :C語(yǔ)言:從入門到精通 目錄 前言

    2024年02月07日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包