728x90
반응형

트리순회 5

이진 트리(Binary Tree)

개요이진 트리(Binary Tree)는 트리(Tree) 자료구조의 한 종류로, 각 노드가 최대 두 개의 자식 노드(왼쪽 자식, 오른쪽 자식)를 가지는 계층적 구조이다. 트리의 기본이자 다양한 트리 기반 알고리즘의 뼈대 역할을 하며, 이진 탐색 트리(BST), 힙(Heap), 트라이(Trie), 표현식 트리 등으로 확장된다. 노드의 위치와 순서가 중요한 구조로, 다양한 순회 알고리즘이 적용된다.1. 이진 트리의 구조와 용어 용어 설명 노드(Node)데이터를 저장하는 기본 단위루트(Root)트리의 시작 노드 (부모 없음)왼쪽 자식(Left Child)루트 기준 왼쪽 하위 노드오른쪽 자식(Right Child)루트 기준 오른쪽 하위 노드리프(Leaf)자식이 없는 노드서브트리(Subtree)특정 노드를 루트로..

Topic 2025.03.29

트리(Tree)

개요트리(Tree)는 노드(Node)와 간선(Edge)로 구성된 계층적 비선형 자료구조로, 하나의 루트 노드(Root)에서 시작하여 자식 노드로 분기되는 구조를 가진다. 트리는 컴퓨터 과학에서 데이터 분류, 탐색, 계층 구조 표현 등 매우 널리 사용되며, 이진 트리, 이진 탐색 트리, 힙, 트라이, AVL 트리, B트리 등 다양한 종류가 있다.1. 트리의 개념과 구성 요소 구성 요소 설명 노드(Node)데이터를 담는 기본 단위루트(Root)트리의 시작 노드 (부모가 없음)부모(Parent), 자식(Child)노드 간 관계 정의리프(Leaf)자식이 없는 마지막 노드서브트리(Subtree)특정 노드를 루트로 하는 부분 트리간선(Edge)노드 간 연결 관계2. 트리의 특성특성설명비선형 구조노드 간 관계가 계..

Topic 2025.03.29

DFS 알고리즘(Depth-First Search)

개요DFS(Depth-First Search)는 트리(Tree)나 그래프(Graph) 구조에서 한 방향으로 깊이 탐색을 진행한 뒤, 더 이상 갈 수 없을 때 되돌아오는(Backtracking) 방식의 탐색 알고리즘이다. 재귀 또는 스택 기반으로 구현되며, 경로 탐색, 조합 생성, 백트래킹, 연결 요소 탐색 등에 널리 사용된다. 본 글에서는 DFS의 개념, 구현 방식, 시간 복잡도, BFS와의 차이, 실전 활용 사례 등을 다룬다.1. 개념 및 정의DFS는 시작 노드에서 한 방향으로 가능한 깊이까지 탐색하고, 막히면 이전 지점으로 되돌아가 다시 탐색을 이어가는 방식의 탐색 알고리즘이다. 트리 순회(preorder, postorder)나 그래프의 미방문 노드 전체 탐색 등에 사용된다.2. DFS 탐색 방식 단..

Topic 2025.03.28

순회 알고리즘(Traversal Algorithms)

개요순회 알고리즘(Traversal Algorithms)은 트리(Tree), 그래프(Graph)와 같은 비선형 자료구조 내의 모든 노드(또는 정점)를 체계적으로 방문하는 방법이다. 순회는 구조의 전체 상태를 파악하거나 특정 노드 검색, 경로 탐색, 연산 수행에 필수적이다. 이 글에서는 트리 순회와 그래프 순회를 중심으로 다양한 순회 알고리즘의 개념, 구현 방식, 시간 복잡도 및 활용 사례를 정리한다.1. 개념 및 정의순회(Traversal)는 자료구조에 저장된 데이터를 하나씩 방문하며 특정 작업(출력, 계산 등)을 수행하는 과정이다. 선형 구조는 단순 순차 탐색으로 충분하지만, 트리나 그래프는 분기 구조를 갖기 때문에 다양한 방식의 순회가 존재한다.2. 트리 순회(Tree Traversal) 순회 방식 ..

Topic 2025.03.28

자료구조 알고리즘(Data Structure Algorithms)

개요자료구조 알고리즘은 다양한 형태의 데이터를 저장하고 조작하기 위해 설계된 알고리즘으로, 효율적인 연산과 최적화된 문제 해결을 가능하게 한다. 이 알고리즘들은 배열, 스택, 큐, 트리, 그래프 등 특정 자료구조의 특성을 활용하여 구현되며, 소프트웨어 성능 향상에 직접적인 영향을 미친다. 본 글에서는 자료구조 알고리즘의 개념, 분류, 주요 알고리즘, 시간 복잡도 분석, 활용 사례를 중심으로 체계적으로 소개한다.1. 개념 및 정의자료구조 알고리즘은 특정 자료구조의 구조적 특성을 활용하여 데이터를 탐색, 삽입, 삭제, 정렬, 탐색 등의 연산을 수행하는 알고리즘이다. 문제 해결의 핵심 로직으로, 프로그래밍 전반에 걸쳐 필수적인 역할을 한다.2. 알고리즘 분류 분류 설명 주요 자료구조 탐색 알고리즘원하는 데..

Topic 2025.03.28
728x90
반응형