pat有关树的考点
1.树的深度优先遍历
2.树的宽度优先遍历
3.记忆化搜索
4.已知树的前序/后序遍历和中序遍历 , 求后序/前序遍历(重点)
5.构建二叉搜索树(递归方式),进而判断,以及后续操作 (重点)
6.AVL树的构建及其应用(难点)
7.最近公共祖先(非重点)
有关树的基本操作
1.统计树每层有多少节点 P1004
void add(int a , int b)
{
e[idx] = b , ne[idx] = h[a] , h[a] = idx ++;
}
void dfs(int u , int depth)
{
if (h[u] == -1)
{
maxdepth = max(depth , maxdepth);
cnt[depth] ++;
return;
}
for (int i = h[u]; ~i ; i = ne[i])
dfs(e[i] , depth + 1);
}
2.以任一点为根求最大深度 P1021
int dfs(int u , int fa)
{
int depth = 0;
for (int i = h[u]; ~i ; i = ne[</