이 진 트 리 의 저장 구조

이 진 트 리 는 특수 한 나무 이기 때문에 이런 특수 한 나 무 는 순서대로 저장 구 조 를 사용 하면 실현 할 수 있다.순서 저장 구조 인 만큼 배열 을 통 해 이 루어 질 수 밖 에 없다.
   한 가지 극단 적 인 상황 은 깊이 가 k 인 오른쪽 경사 나무 로 k 개의 결점 만 있 습 니 다. 이 를 저장 하려 면 이 진 트 리 로 전환 해 야 합 니 다. 그러면 반드시 2 ^ k - 1 개의 결점 이 필요 합 니 다. 이렇게 많은 결점 에서 k 개의 결점 만 효과 적 인 데이터 이기 때문에 공간의 낭 비 를 초래 할 수 있 습 니 다.따라서 순서 저장 구 조 는 완전 이 진 트 리 에 만 적용 된다.
   그렇다면 극단 적 인 상황 과 유사 한 나 무 는 어떻게 저장 해 야 할 까?분명히 순서 저장 소 는 그것 에 적합 하지 않다.그렇다면 체인 저장 소 를 사용 하 는 것 도 고려 할 수 있다.바로 이 진 체인 시계 입 니 다.이 진 트 리 는 결점 마다 최대 두 명의 아이 가 있 기 때문에 구 조 를 설계 할 때 한 개의 변 수 는 데 이 터 를 저장 하고 두 개의 포인터 변 수 는 왼쪽 아이 와 오른쪽 아 이 를 가리킨다.구조 정 의 는 다음 과 같다.
typedef struct BiNode{

    TElemType data;
    struct BiTNode *lchild, *rchild;

}BiTNode, *BiTree;

좋은 웹페이지 즐겨찾기