hdu3999 The order of a Tree
Posted myrtle
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu3999 The order of a Tree相关的知识,希望对你有一定的参考价值。
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3999
题意:给一序列,按该序列插入二叉树,给出字典序最小的插入方法建相同的一棵树出来。即求二叉树的先序遍历。
#include<bits/stdc++.h> using namespace std; struct node { int v; node *left,*right; }*root; node* build(node *root,int v) { if(root==NULL) { root=new node(); root->v=v; root->left=root->right=NULL; } else if(v<=root->v)root->left=build(root->left,v); else root->right=build(root->right,v); return root; } int flag; void dfs(node *root) { if(flag==1)cout<<root->v,flag=0; else cout<<" "<<root->v; if(root->left!=NULL)dfs(root->left); if(root->right!=NULL)dfs(root->right); } int main() { int n; while(cin>>n) { flag=1; root=NULL; int tmp; for(int i=0;i<n;i++)cin>>tmp,root=build(root,tmp); dfs(root); cout<<endl; } return 0; }
以上是关于hdu3999 The order of a Tree的主要内容,如果未能解决你的问题,请参考以下文章
HDU 1010 Tempter of the Bone(bfs)
瞎搞 HDU 3101 The Heart of the Country
(HDU 1010) Tempter of the Bone
hdu 3591 The trouble of Xiaoqian