노드 2

[자료구조] 트리(Tree)

트리(Tree) 파이썬 리스트나 연결리스트는 데이터를 일렬로 저장하기 때문에 탐색 연산이 순차적으로 수행된다. 이진탐색을 사용하면 효율적인 탐색이 가능하기 때문에 삽입이나 삭제 후에도 정렬 상태를 유지해야한다. 트리는 이러한 문제점을 보완한 계층적 자료구조이다. 1. 트리의 루트는 A이다. 2. B, C, D는 각각 A의 자식노드이고 A는 이들의 부모노드이다. 따라서 A의 차수는 3이다. 3. K, L, F, M, N, I, O, P는 트리의 이파리이다. 4. {B, C, D}, {E, F, G}, {H, I}, {K, L}, {O, P}는 각각 서로 형제노드이다. 5. C를 루트로 하는 서브트리는 C와 C의 후손노드({H, I, N})로 구성된 트리이다. 6. P의 조상노드는 {J, D, A}이다. 7..

알고리즘 2022.08.16

[자료구조] 트리 용어

※ 용어 ※ 루트(Root): 트리의 최상위에 있는 노드 자식(Child)노드: 노드 하위에 연결된 노드 차수(Degree): 자식노드의 수 부모(Parent)노드: 노드의 상위에 연결된 노드 이파리(Leaf): 자식이 없는 노드, 단말(Terminal)노드 또는 외부(External)노드라고도 한다. 이파리가 아닌 노드를 비 단말(Non-Terminal)노드 또는 내부(Internal)노드라고도 한다. 형제(Sibling)노드: 동일한 부모를 가지는 노드 조상(Ancestor)노드: 루트까지의 경로상에 있는 모든 노드들의 집합 후손(Descendant)노드: 노드 아래로 메달린 모든 노드들의 집합 서브트리(Subtree): 노드 자신과 후손노드로 구성된 트리 레벨(Level): 루트가 레벨 1, 아래 ..

알고리즘 2022.08.16