수업/자료구조
7. 트리
MDanderson
2024. 9. 18. 00:29
서브트리: 부모노드를 삭제하면 생기는 트리들
잎 노드: 트리의 맨 바닥에 있으면서 자신의 서브트리,자식을 갖지 않는 노드
진입차수: 나한테 들어온 길
루트노드는 진입차수 0
루트를 제외한 모든 노드의 진입차수는 1
진출차수: 나가는 길
잎노드는 진출차수가 0
노드의 레벨: 루트로부터 그 노드까지 이어진 경로의 길
루트노드는 레벨0
깊이는 레벨+1
깊이: 트리의 레벨에서 가장 큰 값에 1을 더한 것
이진트리 :
모든 노드의 차수가 2이하인 트리(진출 차수가2 이하)
Q.모든노드의 진입차수는 1이다 ?
=> x 루트노드는 0
가득찬 이진트리(포화이진트리) : 이진트리의 각 레벨에서 허용되는 최대 개수 노드를 가지는 트리

완전이진트리 :높이가 k인 이진트리가 0 레벨부터 k-2 까지 다 채우고 마지막 k-1레벨에서 왼쪽부터 오른쪽으로 노드들이 차례대로 채워진 이진트리.

우측하단 노드가 없어져도 완전이진트리이지만 포화이진트리는 아님
이진트리의 순회 : 노드를 다 방문하는 순서
전위순회 : 루트-왼쪽자식-오른쪽자식
중위순회 : 왼쪽자식-루트노드-오른쪽자식
후위순회 : 왼쪽자식- 오른쪽자식- 루트노드
일반트리를 이진트리로 변환방법
1,일반트리에 대하여 각 노드의 형제들을 연결
2.각 노드에 대하여 가장 왼쪽 링크만 남기고 모두 제거
3. 루트노드는 반드시 왼쪽 자식노드 하나만 갖도록

