3348 樹的雙親儲存法 多叉樹的遍歷

2022-06-09 07:09:11 字數 579 閱讀 6824

/**

* 這裡不能用鄰接矩陣的形式儲存整個圖,因為可能會出現重邊的問題。

* 如果是簡單的重邊,取最短邊即可,但是本題需要求出所有的最短路徑,所以更長的邊

* 對結果會有影響

*/#include#include#include#include#include#include#include#include#include#includeusing namespace std;

const int maxn=100005;

int n;

int root;

vectorchild[maxn];//儲存所有的孩子結點

vectororder;

void postorder(int cur)

order.push_back(cur);

}int main()else child[parent].push_back(i);

} postorder(0);

int size=order.size();

for(int i=0;icout

}

樹的雙親表示法

之前學習樹多是採用鍊錶的,在羊村捕羊的演算法上,採用了線性儲存,為此學習一下。雙親表示法區別於,鍊錶,是用線性陣列來存放樹的。既然是線性的,就用一維陣列來完成,開始想法是,每個陣列的元素為乙個結構體。typedef struct node n,pn 再用乙個結構體將這個線性陣列的資訊包含起來 typ...

樹的雙親表示法

演算法思想 將這兩個節點的所有祖先節點從下至上依次存放到兩個陣列中,然後遍歷這兩個陣列,第乙個相等的值便是所求值。include define maxsize 100 typedef struct ptnode ptnode 樹的節點結構 typedef struct ptree ptree 樹pt...

樹的孩子雙親表示法

新增鏈結描述 按照上述部落格,測試了一下這個程式.有兩點說說明一下.首先,博主說使用c語言,我第一次用.c檔案編譯,出現error expected or before token 這是使用了引用 而在c語言中沒有引用的概念,在c語言中是取位址符號.後期改為.cpp檔案即可執行 第二點就是 fflu...