3375. L2-HEAP OR BST

【问题描述】

一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。对于深度为的,有个结点的二叉树,若其结点对应于相同深度完美二叉树的层序遍历的前个结点,这样的树就是完全二叉树

一棵二叉搜索树可被递归地定义为具有下列性质的二叉树:对于任一结点,

  • 其左子树中所有结点的键值小于该结点的键值;

  • 其右子树中所有结点的键值大于等于该结点的键值;

  • 其左右子树都是二叉搜索树。

是一棵树,其每个节点都有一个键值,且每个节点的键值都大于等于/小于等于其父亲的键值。(即对于大根堆,每个节点的键值都小于等于其父亲的键值;对于小根堆,每个节点的键值都大于等于其父亲的键值。)

现在给定一棵非空的完全二叉树,判断它是堆还是二叉搜索树,还是既不是堆也不是二叉搜索树。

【输入形式】

第一行一个正整数,代表数组元素个数。

第二行个整数,第个数代表完全二叉树的第号结点的键值。

【输出形式】

若这棵树是二叉堆,输出:Is HEAP!

若这棵树是二叉搜索树,输出:Is BST!

若这棵树既不是二叉堆也不是二叉搜索树,输出:Whatever

【数据范围】

,

对于,

【样例输入1】

3

3 1 4

【样例输出1】

Is BST!

【样例输入2】

3

4 1 3

【样例输出2】

Is HEAP!

【样例输入3】

3

1 3 4

【样例输出3】

Is HEAP!

【样例输入4】

3

2 3 1

【样例输出4】

Whatever


难度等级: 0
总通过次数: 26
总提交次数: 82