小明学完了树的基本知识,想做二叉树遍历的程序设计练习。
根据二叉树的深度从数据文件中读入 n 个整数生成顺序存储的二叉树,做各种遍历的输出。小明发现输出的数据中有不少重复的,为此他先将重复的数据过滤掉,然后再生成二叉树的结构。
现在要求你从数据文件中读取若干个整数,生成一个满二叉树,然后输出一个二叉树遍历的序列。
输入包含 2 行;
第一行是两个整数 h 和 p ,h 是二叉树的深度, h≤8 。p=1时先序输出,p=2 时中序输出,p=3 时后序输出。
第二行若干个整数(数字小于等于 1000 ),读入数据前,先要计算二叉树的结点个数 n ,然后在数据中顺序读取 n 个不重复的整数。
例如深度为 3 的二叉树结点有 7 个。
输出文只有一行,是二叉树遍历的序列。
3 2 277 248 494 88 277 371 387 88 494 216 227
88 248 371 277 387 494 216
【样例解释】
样例数据构建的二叉树为:
二叉树