# 트리(tree)
## 목차
1. 트리란?
2. 장점
3. 특징
4. 사용 예
5. 구현
+ 명세
+ 설계
+ 코드
## 1. 트리란?
트리란, 여러 노드들이 부모와 자식 관계를 갖는 자료구조이다. 나무가 가지를 쳐가는 모습과 닮았다고 하여 트리(tree)라 명명되었다.
![Imgur](https://i.imgur.com/HRYSIm4.png)
## 2. 장점
트리는 계층적 관계(`hierachical relationship`)를 구조화 하기 좋다.
![Imgur](https://i.imgur.com/IyBSYG5.png)
## 3. 특징
최상위 노드를 루트(`root`)라고 하며, 한 노드가 하위 노드를 가질 때, 부모(`parent`)와 자식(`child`) 관계가 형성된다. 자식이 없는 노드는 리프(`leaf`) 노드라고 한다. 노드와 노드를 연결하는 선은 간선(`edge`)라 한다.
![Imgur](https://i.imgur.com/K14HazZ.png)
## 4. 사용 예
트리는 수많은 분야에서 사용된다. 대표적인 예로 컴퓨터의 파일 시스템, 인공지능의 의사결정모델등에 사용된다.
![Imgur](https://i.imgur.com/wAdQRWE.png)
## 5. 구현
구현에 관한 내용들은 아래의 실습 문제를 통해 연습해보자.