二叉树的前序遍历,中序遍历和后序遍历分别有什么作用

2025-03-09 08:49:48
推荐回答(1个)
回答1:

一般二叉树都是通过扩展二叉树的前序序列来建立。这个题目的建立方式有点臃肿。

由于信息很冗余,题目也没有要求建立二叉链表,这儿直接用数组顺序存储就可以了。

struct node{
int left;
int right;
};
node arr[20];
int N=0;
using namespace std;
void PreOrderTraverse(int a)
{
if(a==0) return;
cout< PreOrderTraverse(arr[a].left);
PreOrderTraverse(arr[a].right);
}
void InOrderTraverse(int a)
{
if(a==0) return;

InOrderTraverse(arr[a].left);
cout< InOrderTraverse(arr[a].right);
}
void PostOrderTraverse(int a)
{
if(a==0) return;

PostOrderTraverse(arr[a].left);
PostOrderTraverse(arr[a].right);
cout<}
void main()
{
cin>>N;
for(int i=1;i<=N;++i)
{
cin>>arr[i].left>>arr[i].right;
}
PreOrderTraverse(1);
InOrderTraverse(1);
PostOrderTraverse(1);
::system("pause");
}