728x90
그래프의 탐색(Search)
: 그래프의 정점들을 방문하여 목표 정점을 찾는 것
종류
- 깊이 우선 탐색(DFS)
- 너비 우선 탐색(BFS)
깊이 우선 탐색 ( DFS : Depth First Search )
정의
: 자식, 그 자식의 자식 등으로 계속 이동하며 깊은 노드부터 처리하는 방식
: 자식노드 방문 --> 형제노드 방문 (자식 노드 우선!)
EX)
A의 이웃노드 : B,D,E
너비 우선 탐색 ( BFS : Breath First Search )
정의
: 자신과 가까운 형제 노드부터 처리하는 방식
: 형제 노드 방문 --> 자식 노드 방문 (형제 노드 우선!)
EX)
A의 이웃노드 : B,D,E
트리 구조(Tree)
: 그래프의 특수한 한 형태
: 노드들이 나무 가지처럼 연결된 비선형적(non-linear), 계층적 자료구조
: 1개의 루트 노드(Root Node)를 가지며, 회로가 없어야 한다.
이진 트리 (Binary Tree)
: 내부의 모든 노드들이 2개 이하의 자식 노드(자식이 없을 수도 있음)를 가지는 트리 구조
: 루트 노드(Root Node)를 기준으로 왼쪽 자식 노드와 오른쪽 자식 노드 집합으로 이루어짐
이진 트리의 순회 방식
- 전위 순회 (Preorder Traversal) : Root -> L 자식 -> R 자식
- 중위 순회 (Inorder Traversal) : L 자식 -> Root -> R 자식
- 후위 순회 (Postorder Traversal) : L 자식-> R 자식 -> Root
- 층별 순회 (Level-Order Traversal) : 노드의 순서대로
참고 사이트
https://withhamit.tistory.com/282
트리 순회(전위 순회, 중위 순회, 후위 순회)
트리를 배우면 같이 배우게 되는 개념 중 하나죠. 트리 순회에 대해 알아보겠습니다. 트리 순회에는 전위 순회(preorder), 중위 순회(inorder), 후위 순회(postorder) 가 있습니다. 텍스트 추가 [그림 1]은
withhamit.tistory.com
'공부' 카테고리의 다른 글
[Unity] 기술 면접 대비 1 - virtual, abstract, interface (0) | 2024.04.03 |
---|---|
[CS 공부] 디자인 패턴 - MVC패턴, MVP패턴, MVVM패턴 (0) | 2024.03.18 |
[CS공부] 디자인패턴 - 프록시 패턴, 이터레이터 패턴, 노출모듈 패턴 (0) | 2023.12.17 |
상속과 구현의 차이 (0) | 2023.12.10 |
[CS 공부] 디자인 패턴 - 전략 패턴, 옵저버 패턴 (0) | 2023.12.10 |