트리는 노드와 링크를 이용한 자료구조
연결 리스트와 사뭇 다름
트리 구조는 우리 주변의 일상에서 쉽게 볼 수 있는 구조
한 가족의 계보를 나타내는 족보나 회사의 조직도 등을 보면 트리 구조 형태로 되어 있음
트리 구조는 노드와 노드를 연결하는 링크로 구성되어 있음
가장 상위에 있는 노드를 루트(root)라고 함
자신의 노드보다 상위에 있는 노드를 부모 노드(Parent Node)라고 함
자신의 노드보다 아래에 있는 노드를 자식 노드(Child Node)라고 함
최 하위 노드를 리프 노드(Leaf Node)라고 함
같은 부모 노드를 갖는 노드들의 사이를 형제 노드(Sibling Node)라고 함
트리 구조는 레벨(Level)과 높이(Height)가 존재
레벨은 루트 노드부터 해당 노드까지 경로를 찾아 오는데 방문한 총 노드의 수가 됨
트리 구조 내에서 가장 큰 레베을 그 트리 구조의 높이라고 함
트리 구조에서 부모 노드는 반드시 하나만 존재해야 함
부모 노드가 2개 이상 존재하면 그 구조는 트리 구조가 될 수 없음
차수
단말 노드 == 터미널 노드 == 리프노드
부모노드
자식노드
형제노드
레벨
높이
깊이