建立一棵樹,一般有鄰接表,靜態寫法,動態寫法等等,雖然寫法不同但是核心不變,靜態寫法和鄰接表相比其他更方便下面介紹靜態寫法
每乙個節點由資料和它的子節點組成,這裡用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小的數字 在搞懂什麼是主席樹之前,我們要先對權值線段樹有一定的了解,下面我們就先說一下權值線段樹,然後詳細說一下主席樹以及主席樹程式的實現.權值線段樹 每個葉子節點的數值表示的是 陣列中含有這個數...