1838-满二叉树


本文总阅读量

因为是满二叉树,所以直接可以用一维数组保存满二叉树,但数据涉及重复,先要去重。
数据范围并不大,去重可以用顺序查找:即选中的数保存在前面说的一维数组中,如果没找到,则把当前的数加入到一维数组中。
学过map容器的,可以用map去重。

...
map<int,bool> m;
...
while(cin>>x)
{
	if(mp[x]==0){
		a[++cnt] = x; //按层次遍历顺序存储满二叉树
		mp[x] = 1;
		if(cnt==n) break; //按题意存完满二叉树
	}
}

其中n需要根据给出的深度计算出,例如h=3时,n=231=7;h=4时,n=241=15
剩下的中序遍历后序遍历请参考二叉树的储存和遍历中的情形2遍历方式。


本站总访问量