樹的靜態寫法

2021-09-26 10:48:25 字數 795 閱讀 9252

建立一棵樹,一般有鄰接表,靜態寫法,動態寫法等等,雖然寫法不同但是核心不變,靜態寫法和鄰接表相比其他更方便下面介紹靜態寫法

每乙個節點由資料和它的子節點組成,這裡用vector陣列將子節點的"位址"也就是節點下標

struct node

node[maxn]

;

這裡建立圖中的樹並按層序和前序歷遍整棵樹

#include

#include

#include

using namespace std;

const

int maxn=

10010

;struct node

node[maxn]

;void

creat

(int n)}}

void

preorder

(int root)

//樹的先根歷遍

}void

layerorder

(int root)

//樹的層序遍歷

que.

pop();

}}intmain()

/*70 31 2 3

1 24 5

2 03 1

64 0

5 06 0

*/

樹的靜態寫法

此處的樹,子結點的個數沒有限制且子結點沒有先後次序的樹 樹與二叉樹的不同之處就在於樹的子結點數可能會有很多,如果利用動態寫法,利用鍊錶的指標來指示的話會比較麻煩,利用靜態寫法,也就是用陣列下標來代替所謂的位址,當然這需要事先開乙個大小不低於結點上限個數的結點陣列,因此結構體node的定義如下 str...

PHP 偽靜態規則 寫法

偽靜態是相對真實靜態來講的,通常我們為了增強 搜尋引擎 的友好面,都將文章內容生成靜態頁面,但是有的朋友為了實時的顯示一些資訊。或者還想運用動態指令碼解決一些問題。不能用靜態的方式來展示 內容。但是這就損失了對搜尋引擎的友好面。怎麼樣在兩者之間找個中間方法呢,這就產生了偽靜態技術。就是展示出來的是以...

靜態主席樹

首先主席樹解決什麼樣的問題?最經典的問題就是 區間第k小問題 也就是指定乙個區間,要求求出這個區間中第k小的數字 在搞懂什麼是主席樹之前,我們要先對權值線段樹有一定的了解,下面我們就先說一下權值線段樹,然後詳細說一下主席樹以及主席樹程式的實現.權值線段樹 每個葉子節點的數值表示的是 陣列中含有這個數...