我们可以用指针和数组静态指针来表示二叉树,一般裸的BST用得少,而改进的BST比如treap等基本不会退化,空间浪费不大,所以我们还是主要用数组静态指针法来表示二叉树。
每个节点完整的信息如下
struct AA
{
int val,cnt; 基本信息值,这个值出现的次数
int ls,rs,fa; 指针信息 左右儿子和爸爸 有的时候爸爸也很重要
int flag,size; 维护信息,此节点是否被删除,这个子树共有多少个有效节点等
} a[mm];
一般a[0]不用,a[1]为树的根,这里先讲基本的BST,只用到val cnt ls rs四个相关域。