트리의 순회
트리 순회(Traversal) 개요 트리 순회는 트리의 모든 노드를 중복 없이, 한 번씩 방문하는 체계적인 방법을 의미한다. 노드를 방문하는 순서에 따라 여러 종류의 순회 방법이 있으며, 각각의 방법은 특정 목적에 유용하게 사용된다. 먼저, 순회 로직을 구현하기 위한 기본적인 C언어 트리 노드 구조체는 다음과 같이 정의된다. #include &l...
트리 순회(Traversal) 개요 트리 순회는 트리의 모든 노드를 중복 없이, 한 번씩 방문하는 체계적인 방법을 의미한다. 노드를 방문하는 순서에 따라 여러 종류의 순회 방법이 있으며, 각각의 방법은 특정 목적에 유용하게 사용된다. 먼저, 순회 로직을 구현하기 위한 기본적인 C언어 트리 노드 구조체는 다음과 같이 정의된다. #include &l...
트리(Tree) 개요 트리(Tree)는 데이터 요소(노드)들을 계층적으로 연결한 자료구조로, 나무를 거꾸로 뒤집은 형태를 가진다. 루트(Root)라 불리는 최상위 노드에서 시작하여 여러 하위 노드로 가지를 치며 뻗어 나가지만, 노드 간의 관계에서 사이클(Cycle)은 형성되지 않는 것이 특징이다. 트리의 핵심 용어 트리 구조를 이해하기 위한 핵심...
이진 탐색 트리(Binary Search Tree) 개요 이진 탐색 트리(BST)는 효율적인 탐색을 위해 이진 트리에 다음과 같은 특정 규칙을 추가한 자료구조이다. 각 노드의 키(key) 값은 유일하다. 특정 노드의 왼쪽 서브트리에 있는 모든 노드의 키 값은 해당 노드의 키 값보다 작다. 특정 노드의 오른쪽 서브트리에 있는 모든 노드의...
그래프 탐색(Graph Traversal) 개요 그래프 탐색은 그래프의 모든 정점을 한 번씩, 체계적으로 방문하는 알고리즘이다. 그래프의 구조를 파악하거나, 특정 경로를 찾는 등 다양한 문제 해결의 기반이 된다. 대표적인 탐색 방법으로는 깊이 우선 탐색(DFS)과 너비 우선 탐색(BFS)이 있다. 1. 깊이 우선 탐색 (DFS, Depth-Firs...
그래프(Graph) 개요 그래프(Graph)는 정점(Vertex)과 이들을 연결하는 간선(Edge)의 집합으로 구성된 비선형 자료구조이다. 네트워크, 도로망, 소셜 관계망 등 현실 세계의 복잡한 연결 관계를 모델링하는 데 널리 사용된다. 트리와 달리 부모-자식 관계가 없으며, 사이클(Cycle)을 형성할 수 있는 유연한 구조를 가진다. 그래프의 핵...