목록이진 트리 (2)
나무 숲
이진 트리 (Binary Tree) - 구현 배열 구현 이진 트리를 배열로 구성할 시 연결 리스트에 비해 탐색이 빠르고 쉽습니다. 위와 같은 이진 트리를 배열로 구현한다고 했을 때, 루트 노드를 배열 인덱스 0으로 설정 후 완전 이진 트리를 채워나가는 방식으로 인덱스를 부여합니다. (=다시 말하면 이진 트리에 노드가 추가될 때 그 순서를 뜻하는 것과 같습니다.) 따로 구현은 하지 않았는데 어떻게 생각해보면 트리라고 이해하기는 힘들 것 같습니다 ㅠ;; 연결 리스트 구현 연결 리스트를 통한 구현이 훨씬 더 트리의 모양을 잘 이해할 수 있는?? 구조라고 생각됩니다. 왼쪽에서 뻗어나오는 파란 팔은 양방향 연결 리스트를 생각했을 때 왼쪽 팔, 주황색 팔은 오른쪽 팔을 뜻합니다. 그냥 봐도 모양이 트리와 똑같기 때..
* 책 열혈강의 + 인터넷 트리 Tree 비선형 자료구조마치 조직도같은 모양! 용어 Node 노드 : 데이터를 저장하는 각각의 요소 Root Node 루트 노드 : 트리 구조의 최상위 노드 Terminal Node 단말 노드 : 아래로 다른 노드가 연결되어 있지 않은 노드 Internal Node 내부 노드 : 단말 노드를 제외한 노드 Edge 간선 : 노드를 잇는 선 관계 Parent 부모 : 자식 노드를 가진다 Child 자식 : 부모 노드를 가진다 Sibling 형제 : 같은 부모로부터 형제 노드를 가진다 (위 그림에서는 같은 색깔끼리 관계를 형성) Level 레벨 : 트리의 가장 위에서부터 (0) 층별로 매겨진 숫자 Height/Depth 높이/깊이 : 트리의 최고 레벨. 위 그림에서는 2 Deg..