트리란?

 링크드 리스트와 같은 자료 구조이며 형태가 나무처럼 생겼다고 해서 붙여진 이름이다.

 생성방법은 링크드 리스트와 비슷하다.

 

트리구조

= 트리 구조에서 부모는 1개 이하를 가지며 2개 이상을 가질 수없으며.

 

최상의 노드는 Root Node(루트노드)라하며 최하위 노드는 Leaf  Node(단말노드)라 한다.

 

트리에서 구조체를 선언하는 방법

예)

typedef struct tagTree

{

     int data;

    struct tagTree* left; //왼쪽 노드값을 가르키는 포인터

    struct tagTree* right; // 오른쪽 노드값을 가리키는 포인터

} Tree, *RTREE;

구조체에는 자기 참조포인터가 2개 선언 되어 있는데 left는 현재 노드의 값보다 작은값을 저장할 노드를 연결할 포이터이며

 right는 현재 노드의 값보다 큰 값을 저장할 노드의 포인터입니다.