ToB企服应用市场:ToB评测及商务社交产业平台
标题:
二叉树专题
[打印本页]
作者:
金歌
时间:
2022-8-10 09:04
标题:
二叉树专题
Complete Binary Search Tree (30)
Link
这道题相当于是已知
完全二叉排序树
的中序遍历,要输出其层序遍历。做法很巧妙,根本不用建树。
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <string>
#include <string.h>
#include <vector>
#include <cmath>
#include <unordered_set>
using namespace std;
int n,cur;
int a[1010],b[1010];
void levelTraverse(int r){
if(r<=n){
levelTraverse(r<<1);
b[r]=a[++cur];
levelTraverse((r<<1)+1);
}
}
int main() {
scanf("%d",&n);
for(int i=1;i<=n;++i)
scanf("%d",&a[i]);
sort(a+1,a+1+n);
levelTraverse(1);
for(int i=1;i<n;++i)
printf("%d ",b[i]);
printf("%d\n",b[n]);
return 0;
}
复制代码
Is It a Binary Search Tree (25)
Link
根据BST的前序遍历输出其后序遍历。不用建树。
[code]#include #include #include #include #include #include #include using namespace std;int n;int a[1010];bool isMirror=false;bool isBST=true;vectorans;void build(int l,int r){ if(!isBST||l>r) return; int root=a[l]; if(isMirror){ int i=l+1; for(;i
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4