#1265. 5.二叉查找树

5.二叉查找树

当前没有测试数据。

5.二叉查找树

题目描述

二叉查找树是一种特殊的二叉树(每个节点最多只有两个儿子的树)。树的每个节点上存有一个唯一的值,并且满足:这个节点的左子树内所有点的值都比这个节点的值要小,且右子树内所有点的值都比这个节点的值要大。

对于一棵二叉查找树TT,我们可以将一个值为valval的新点插入TT中,且保持树的性质。算法如下:

需要将valval插入二叉查找树TT时,执行insert(root,val)insert(root, val)

现在有NN个数需要插入一棵空树中。给定插入序列,请在每个元素被插入之后,输出所有节点的深度总和(根的深度为00)。

输入格式

输入的第一行一个整数nn,表示序列长度。

以下nn行是序列中的数字,这些数字是各不相同的,在[1,n][1,n]区间。

输出格式

输出nn行,第ii行整数表示第ii个数插入树后,至这个节点的节点深度总和。

数据范围与提示

对于100%100\%的数据,N3×105N \leq 3 \times 10^{5}

样例

8
3
5
1
6
8
7
2
4
0
1
2
4
7
11
13
15