資料結構 樹形結構

2021-09-25 06:31:06 字數 595 閱讀 5362

樹是一種表達資料之間層次關係的資料結構,樹中的每個節點有0個或者多個子節點,但只有乙個父節點,父節點為空的節點為根節點,一棵樹只有乙個根節點。

樹結構的相關概念:

**數的度:**乙個節點含有的子樹的個數成為該節點的度,一顆樹中最大的節點的度成為整顆數的度;

**葉節點:**度為0的節點成為葉節點;

**根節點:**沒有父節點的節點就是跟節點;

**樹的高度:**從跟節點開始,每多一級子節點,樹的層次就加1,一棵樹的最大層次數就是這個樹的高度;

**兄弟節點:**具有相同父節點的子節點互成為兄弟節點;

根據每個節點的子節點的數量,又可以將樹分為二叉樹和多叉樹。

有序的二叉樹也稱為平衡二叉樹:

1.如果左子樹不為空,則左子樹上所有的節點的值都小於根節點的值;

2.如果右子樹不為空,則右子樹上所有的節點的值都大於根節點的值。

紅黑樹:

1.每個節點非紅即黑;

2.根節點是黑的;

3.每個葉子節點時黑的;

4.如果乙個節點是紅的,那麼它則左右兩個孩子都是黑的;

5.對於任意節點而言,其到葉子節點數或null指標的每條路徑都包含相同數目的黑節點。

資料結構 樹形結構例項

題目介紹 m n的座標方格 左下點座標 0,0 右上點座標 m,n 自己在圖紙上畫下 輸出從 0,0 點到 m,n 點的所有路徑 規則 只能向右和向上走 程式原始碼 c 程式 二叉樹結構 include include include using namespace std define m 5 d...

行資料結構轉成樹形資料結構

背景 在前後端開發過程中,後端負責提供介面資料,有時前端需要把介面資料轉成其他的格式,本文就用於將具備父子邏輯的行資料轉成樹形結構。如下 function rowdatatotreedata roottreenode,rowdata else i i 1 if roottreenode.childr...

樹形結構資料渲染

我們有時候在專案開發中可能會遇到說給了你乙個介面,讓你渲染出乙個樹形結構。那麼這樣的該怎麼做呢?首先我們既然要渲染樹形,他給你的介面肯定是多維的。何為多維呢?就是一層一層巢狀的。那麼既然有了介面,我們寫 的思路多元化一點的話,就可以想到可以用遞迴,也可以用陣列方法把它轉化成一維陣列進行渲染。簡單思路...