首页 > 试题广场 >

Complete Binary Search Tree (3

[编程题]Complete Binary Search Tree (3
  • 热度指数:2458 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties:

The left subtree of a node contains only nodes with keys less than the node's key.
The right subtree of a node contains only nodes with keys greater than or equal to the node's key.
Both the left and right subtrees must also be binary search trees.
A Complete Binary Tree (CBT) is a tree that is completely filled, with the possible exception of the bottom level, which is filled from left to right.
Now given a sequence of distinct non-negative integer keys, a unique BST can be constructed if it is required that the tree must also be a CBT. You are supposed to output the level order traversal sequence of this BST.

输入描述:
Each input file contains one test case.  For each case, the first line contains a positive integer N (<=1000).  Then N distinct non-negative integer keys are given in the next line.  All the numbers in a line are separated by a space and are no greater than 2000.


输出描述:
For each test case, print in one line the level order traversal sequence of the corresponding complete binary search tree.  All the numbers in a line must be separated by a space, and there must be no extra space at the end of the line.
示例1

输入

10
1 2 3 4 5 6 7 8 9 0

输出

6 3 8 1 5 7 9 0 2 4
头像 懒散之魂
发表于 2021-10-05 17:41:32
更多PAT甲级题解--acking-you.github.io 题目 OJ平台 题目解析 题目大意: 二叉搜索树大家都不陌生,这个题需要你构造的二叉树二叉搜索树同时也是完全二叉树,然后打印出它的层序遍历序列。 这道题把我坑到了,我竟第一时间想的并不是从它的中序重新构建出这颗二叉树,我开始想的 展开全文