题目描述
二叉树中序遍历记录遍历输出顺序
样例
#include<iostream>
using namespace std;
const int N=110;
int n,x;
int target;
struct edge{
int cnt;
int w,l,r;
}edge[N];
int num=0;
void dfs(int root){
if(root){
dfs(edge[root].l);
num++;
edge[root].cnt=num;
dfs(edge[root].r);
}
return;
}
int main(){
cin>>n>>x;
for(int i=1;i<=n;i++){
cin>>edge[i].w>>edge[i].l>>edge[i].r;
if(edge[i].w==x){
target=i;
}
}
dfs(1);
cout<<edge[target].cnt<<endl;
return 0;
}
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla