PAT-A1020: Tree Traversal(이차 트리 재구성 및 그 중간, 뒷면 반복)
1802 단어 알고리즘 입문 문제두 갈래 나무
카탈로그
제목 설명:
문제 해결 방법:
ac 코드:
제목 설명:
두 갈래 나무 (binary tree) 의 뒷차례 (postorder) 역과 중간 차례 (inorder) 역행을 보여 줍니다. 이 두 갈래 나무를 재건하고 이 두 갈래 나무의 층차 역행 서열을 출력해 주십시오.
문제 해결 방법:
P297, 재구성 후 출력하면 됩니다.create와 bfs 함수를 호출하여 코드를 명확하게 하고 출력 형식에 주의하십시오.
ac 코드:
#include
#include
#include
#include
#include
#include
using namespace std;
struct node{
int data;
node* lchild;
node* rchild;
};
int pre[50],in[50],post[50];// , ,
int n;//
node* create(int postl,int postr,int inl,int inr)
{
int k;
if(postl>postr)
return NULL;
node* root=new node;
root->data=post[postr];
for(k=inl;k<=inr;k++)
if(in[k]==post[postr])
break;
int numleft=k-inl;
root->lchild=create(postl,postl+numleft-1,inl,k-1);//
root->rchild=create(postl+numleft,postr-1,k+1,inr);//
return root;
}
void bfs(node* root)
{
int num=0;
queue q;
q.push(root);
while(!q.empty())
{
node* now=q.front();
q.pop();
printf("%d",now->data);
num++;
if(numlchild!=NULL) q.push(now->lchild);
if(now->rchild!=NULL) q.push(now->rchild);
}
}
int main()
{
scanf("%d",&n);
for(int i=0;i
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
hdoj 1290 구형 케이크 자 르 기 (전달 과 구분 문제)어쩌면 너 는 투 덜 거 렸 을 지도 몰라 어쩌면 너 는 여전히 슬픔 을 품 고 있 을 지도 몰라 어쩌면 너 는 지척 에 있 을 지도 몰라 어쩌면 너 와 나 는 모든 학생 모교 에 대해 생명의 바 다 를 영원히 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.