자료구조
[자료구조]이진 트리를 Linked List로 표현하기
codingbird1234
2023. 5. 24. 11:56
이진 트리를 배열이 아닌 Linked List로 표현하는 경우가 많습니다.
다음은 이진 트리를 Linked List로 표현하기 위해 만든 각 노드를 나타낼 구조체 입니다.
typedef struct treeNode* treePointer;
typedef struct treeNode{
int data;
treePointer leftChild;
treePointer rightChild;
} treeNode;
- data에는 각 노드에 할당된 값이 들어갑니다.
- leftChild에는 왼쪽 자식 노도의 주소값이 들어갑니다. 만약 왼쪽 자식이 없다면 leftChild에는 NULL을 넣습니다.
- rightChild에는 오른쪽 자식 노도의 주소값이 들어갑니다. 만약 오른쪽 자식이 없다면 rightChild에는 NULL을 넣습니다.
즉, leftChild와 rightChild가 각각 왼쪽, 오른쪽 자식 노드를 가리키면서 연결되는 방식입니다.
트리를 Linked List 방식으로 나타내면 아래와 같습니다.