如果一个无向连通图中不存在回路,则称这个图为树。
性质
- 若树上结点数为n,则边数一定为n-1。
- 树上任意一对结点之间有且只有一条路径。
- 由于树是稀疏图,常使用邻接表存储。
遍历
假设信息已经存储在vector<int> node
里了。
前序遍历
void preorder(int n){
cout<<n<<" ";
for(auto i:node[n]){
preorder(i);
}
}
后序遍历
void postorder(int n){
for(auto i:node[n]){
postorder(i);
}
cout<<n<<" ";
}
层序遍历(BFS)
void levelorder(int root){
q.push(root);
while(q.size()){
int tmp=q.front();
q.pop();
for(auto i:node[tmp]){
cout<<i<<" ";
q.push(i);
}
}
}