Tree는 나무 뿌리가 땅속으로 계속 뻗어 나가는 현상이라고 생각하면 된다.
Tree를 구성하는 것은 Node이다. Tree는 Node와 Node사이에 parent- child 구조를 가지고 있기 때문에, Graph와 달리 상, 하 구조를 가지고 있다. Tree의 최상위에 있는 Node를 Root라고 부르고 그 밑으로 자식들이 뻗어 나가는 구조이다.
Tree 구조는 방대한 data에서 값을 찾는데 유용하다. 필요한 값을 찾는 방식은 2가지 방식이 있다.
DFS(Depth First Search)와 BFS(Breadth First Search)이다. DFS는 깊이를 먼저 찾고, BFS는 넓이 방향으로 먼저 찾는다.
링크에 애니메이션으로 찾는 방식을 볼 수 있다. 글로 설명하면 DFS는 A - B - D - I - E -J 식으로 수직방향으로 먼저 값을 찾고, BFS는 A - B - C - D - E - F -G식으로 수평방향으로 먼저 값을 찾는다
알고리즘 링크 : https://studyglance.in/ds/display.php?tno=22&topic=Introduction-to-Tree#google_vignette