데이터 구조 기 말 복습 - 이 진 트 리 복원 (우선 순위 와 중간 순서 에 따라 출력 우선 순 서 를 옮 겨 다 니 며)
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
const int maxn = 100000;
char pre[maxn]; /** */
char ino[maxn]; /** */
//char post[maxn]; /** */
typedef struct BiNode
{
char data;
BiNode *Left;
BiNode *Right;
}BiNode, *BiTree;
BiTree build(char *pre, char *ino, int len)
{
if(len <= 0)
return NULL;
BiTree T = new BiNode;
T->data = *pre;
char *root = pre;
char *p = ino;
while(p)
{
//
if(*p == *root)
break;
++p;
}
//
int left_len = p - ino;
T->Left = build(pre + 1, ino, left_len);
T->Right = build(pre + 1 + left_len, p + 1, len - left_len - 1);
return T;
}
//
void postOrder(BiTree T)
{
if(T)
{
postOrder(T->Left);
postOrder(T->Right);
printf(" %c", T->data);
}
}
int main()
{
/**N */
int N;
scanf("%d %s %s", &N, pre, ino);
BiTree T = build(pre, ino, N);
printf("postorder:");
postOrder(T);
printf("
");
}
참고 블 로그:https://blog.csdn.net/qq_37708702/article/details/79644068
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.