Tree도 ADT기에, 여러 방식의 표현법이 존재한다. 트리의 차수나 노드의 수 등에 영향을 끼치지 않는, 모든 경우의 트리를 표현할 수 있는 표현 방식들을 알아보자.

Linked list 표현

선형 자료구조인 linked list를 응용하는 방식이다. 단방향/양방향에 관계 없이 연결 리스트는 오직 연결되어 있는 값과의 link를 위해 사용했는데, 여기서는 child node와의 연결을 표현하기 위해 사용한다.

노드의 삽입과 삭제가 용이하나, 각 노드의 차수만큼 가변적인 포인터 필드를 가져야 한다는 문제가 있다.

Left-Child Right-Sibling(LCRS) 표현

Sibling동일한 parent node를 가지고 있는 노드를 의미하며, right sibling바로 오른쪽에 있는 sibling을 의미한다. 따라서 LCRS 표현에서는 각 노드가 데이터|가장 왼쪽 child의 주소|바로 오른쪽 sibling의 주소로 이루어진다. 아래 그림은 tree를 LCRS로 표현하는 예다.

'컴퓨터 기초 > 자료구조' 카테고리의 다른 글

Binary Tree의 순회  (0) 2019.02.01
n-ary Tree와 Complete, Perfect, Balanced, Skewed Tree  (0) 2019.01.30
Tree  (0) 2019.01.18
Stack과 Queue  (0) 2019.01.16
Array와 Dynamic Array, Linked List  (0) 2019.01.11

+ Recent posts