데이터 구조 - 앞 순서 와 중간 순 서 를 통 해 이 진 트 리 만 들 기

821 단어 데이터 구조
알고리즘 사상
앞의 순서 와 중간 순 서 를 통 해 이 진 트 리 를 만 드 는 것 에 대해 서 는 모두 가 수공 으로 밀어 낸 적 이 있다 고 믿 기 때문에 이곳 의 알고리즘 사상 은 생략 되 었 다.
소스 코드
BiTreeNode CreateBt(ElementType A[],ElementType B[],int PreL,int PreR,int InL,int InR) {
	//A,B                ,      1  
	//PreL,PreR,InL,InR     ,                
	BiTreeNode BT;
	BT = new BiTreeStruct; //     
	BT->data = A[PreL]; int i,llen, rlen;
	for (i = InL; B[i] != BT->data; i++);//              
	llen =i-InL; //     
	rlen =InR-i; //     
	//      ,           
	if (llen) //       
		BT->Lchild = CreateBt(A, B, PreL + 1, PreL + llen, InL, InL + llen - 1);
	else
		BT->Lchild = NULL; //     

	if(rlen) //       
		BT->Rightchild = CreateBt(A, B, PreR-rlen,PreR,InR-rlen+1,InR);
	else
		BT->Rightchild = NULL; //     
	return BT; //     
}

좋은 웹페이지 즐겨찾기