1. 트리(Tree)
우리는 트리를 기억할 때 영어 그대로 나무를 생각해보자.
그 중에서도 나뭇가지를 생각하면 더 쉬울것 같다.
위에서 처럼 나뭇가지와 같이 생긴게 트리 구조다.
트리는 위에서부터 아래로 계층형 구조로 생겼다.
트리의 종류
- 이진트리 : 데이터를 검색하거나, 자료를 정렬하는 알고리즘에서 사용된다.
- 최소 비용 신장 트리 : 데이터 간의 관계를 유지하면서 최소의 비용이 드는 관계를 유지하는 방법.
트리는 위에서 말한대로 계층형 구조를 가지게 되는데, A가 1 레벨, B, C, D 가 2레벨, E부터 J까지가 3레벨이라고 한다.
물론 아래 계층이 더 생기면 4, 5, ... 순으로 늘어간다.
트리에서 사용하는 용어
다시 저 자료구조로 바꾼 것을 살펴보면서 보자
용어 | 설명 | 위치 및 값 |
노드 - Node | A, B등을 감싸는 원 | A, B, C 등 각 항목들 |
간선 - Edge, 링크 - Link | 노드와 연결되는 선 | A와 B 사이의 선 등 |
루트(Root) 노드 | 뿌리가 되는 노드 | A |
단말(Terminal)노드 | 자식이 없는 노드 | E, F, G, H, I, J |
간노드(Nonterminal) | 자식이 있는 노드 | A, B, C, D |
노드의 차수(Degree) | 자식 노드의 개수 | B는 3 |
트리의 차수(Degree) | 노드의 차수가 가장 큰 값 | 루트 노드인 A의 차수 = 3 |
노드 레벨(Level) | 특정 깊이를 가지는 노트 집합 | A = 1, B,C,D = 2, E~J = 3 |
노드의 크기(Size) | 자신을 포함한 자식 노드의 수 | A의 노드크기 = 10(하위 모든 노드의 수) B의 노드 크기 = 4(B,E,F,G) |
노드의 깊이(Depth) | 루트에서 거쳐 간 간선의 수 | H = 2 ( A → C, C → H) |
노드의 높이(Height) | 루트에서 가장 깊은 노드 | 3 |
부(Parent)노드 | 부모 노드 | G는 B, H는 C |
자(Children)노드 | 자식 노드 | B는 E,F,G C는 H |
(형)제(Sibling)노드 | 형제노드 (부모가 같은 자식 노드들) | F는 E,G |
숲(Forest) | 루트를 제외한 나머지 부분 | A 제외하고 다 |
2. 그래프
구조
데이터와 데이터 사이의 관계를 표현하는 비선형 구조이다.
데이터 검색, 데이터의 복잡도, 전자회로 분석 등 다양한 응용분야에 적용된다.
무방향성 그래프 : 간선을 표현하는 두 정점의 쌍에 순서가 없는 그래프.
방향 그래프 : 모든 간선을 순서가 있는 두 정점을 쌍으로 표현하는 즉, 간선의 방향을 가진 그래프.
그래프는 관계를 나타내는 노드(Node)와 간선(Edge)으로 구성된 모음이다.
일반적으로 G = (V, E) [G = 그래프, V = 정점, E = 간선] 로 표현한다.
- 노드는 트리에서와 마찬가지로 정점(원)이다.
- A, B, C, D, E
- 간선은 정점(원)을 잇는 연결이다.
간선은 E로 표기한다.
- 무방향성 그래프에서는 간선을 {{A,B},{B,C}, {C,E}} 등으로 표현한다.
- 방향성 그래프에서는 간선을 화살표 방향대로 표현한다. {<A, C>, <B,A>,<B,C>, <C,D> ...등}
그래프의 특징
- 그래프는 네트워크 모델이다.
- 트리처럼 루트노드, 부모-자식 관계가 없다.
- 2개 이상의 경로가 가능하다
- 자기 자신을 향하는 간선은 없다.
- 중복된 간선을 허용하지 않는다.
'자격증 > 정보처리기사' 카테고리의 다른 글
자료구조 - 이진 트리 순회 (1) | 2023.05.08 |
---|---|
자료구조 - 선형구조(2/2) 덱, 선형 리스트, 연결 리스트 (0) | 2023.04.21 |
자료 구조 - 자료구조 개념과 선형구조 (1/2) (0) | 2023.04.09 |
정보처리기사-소프트웨어의 분류와 특성 (0) | 2022.03.18 |