CHUCK CHUCK 박사

잼잼 개발자

[Algorithm] Data Structure - Graph

자료구조 그래프

Graph? 그래프는 정점(또는 노드)과 간선으로 이루어진 비선형 자료구조입니다. 각 간선은 두 개의 정점을 연결하며, 방향이 있을 수도(유방향 그래프) 없을 수도(무방향 그래프) 있습니다. 그래프는 소셜 네트워크, 도로 지도, 컴퓨터 네트워크 같은 네트워크를 표현할 때 자주 사용됩니다. 그래프의 구성 요소 정점(노드): ...

[Algorithm] Data Structure - Fenwick Tree

자료구조 펜윅트리

Fenwick Tree? Fenwick Tree(또는 Binary Indexed Tree)는 배열의 값을 효율적으로 업데이트하고, 구간 합(prefix sum)을 빠르게 구할 수 있는 자료구조입니다. 이 자료구조는 다음과 같은 작업을 자주 해야 할 때 유용합니다: 포인트 업데이트: 배열의 특정 원소 값을 업데이트하는 작업. ...

[Algorithm] Data Structure - Segment Tree

자료구조 Segment 트리

Segment Tree? 세그먼트 트리(Segment Tree)는 구간 쿼리를 효율적으로 처리하는 자료 구조입니다. 특히 배열 내 요소들에 대한 업데이트가 빈번하게 발생하는 경우 유용합니다. 세그먼트 트리는 업데이트와 쿼리 모두 로그 시간에 처리할 수 있어, 알고리즘 문제에서 많이 사용됩니다. 세그먼트 트리의 주요 연산: ...

[Algorithm] Data Structure - Red Black Tree

자료구조 Red Black 트리

Red-Black Tree? Red-Black Tree는 자기 균형 이진 탐색 트리의 일종으로, 각 노드에 “색상”(빨간색 또는 검은색)을 저장하는 추가 비트가 있습니다. 트리의 균형이 깨지지 않도록 하여, 삽입, 삭제, 탐색 연산을 O(log n)의 시간 복잡도로 수행할 수 있게 합니다. Red-Black 트리는 몇 가지 규칙을 ...

[Algorithm] Data Structure - AVL Tree

자료구조 AVL 트리

Trie? 트라이는 문자열의 집합을 저장하는 데 사용되는 특수한 자료구조입니다. 특히 공통된 접두사를 공유하는 문자열을 검색하는 데 매우 효율적입니다. 구조 트라이는 노드로 구성되며, 각 노드는 문자를 나타냅니다. 각 노드는 하나의 문자를 나타내며, 트리의 경로는 문자열 또는 문자열의 접두사를 나타냅니다. 루트 노드는...

[Algorithm] Data Structure - Binary search tree

자료구조 이진 탐색 트리

이진 탐색 트리(BST) 개요 이진 탐색 트리(BST)는 다음과 같은 속성을 따르는 이진 트리의 일종입니다: 왼쪽 서브트리: 노드의 왼쪽 서브트리는 노드의 키보다 작은 키를 가진 노드만 포함합니다. 오른쪽 서브트리: 노드의 오른쪽 서브트리는 노드의 키보다 큰 키를 가진 노드만 포함합니다. 중복 노드 없음: 모든 노드는...

[Algorithm] Data Structure - Tree

자료구조 트리

Tree? 트리(Tree)는 노드가 간선으로 연결된 계층적 자료구조입니다. 트리는 효율적인 조직화와 계층적 관계를 표현할 수 있어 널리 사용되는 자료구조입니다. 주요 특징: 루트 노드: 트리의 최상단 노드로, 탐색이 시작되는 곳입니다. 부모 및 자식 노드: 모든 노드는 하나의 부모를 가지며, 여러 자식을 가질 수 있습니...

[Algorithm] Data Structure - Trie

자료구조 트라이

Trie? 트라이는 문자열의 집합을 저장하는 데 사용되는 특수한 자료구조입니다. 특히 공통된 접두사를 공유하는 문자열을 검색하는 데 매우 효율적입니다. 구조 트라이는 노드로 구성되며, 각 노드는 문자를 나타냅니다. 각 노드는 하나의 문자를 나타내며, 트리의 경로는 문자열 또는 문자열의 접두사를 나타냅니다. 루트 노드는...

[Algorithm] Data Structure - Priority Queue

자료구조 우선순위 큐!

Priority Queue? 우선순위 큐(Priority Queue)는 각 요소가 우선순위와 연관된 특별한 형태의 큐입니다. 일반 큐는 먼저 들어온 요소가 먼저 나가지만, 우선순위 큐에서는 우선순위가 높은 요소가 먼저 dequeued(제거)됩니다. 동일한 우선순위를 가진 두 요소가 있을 경우, 삽입 순서(FIFO)에 따라 제거되거나...

[Algorithm] Data Structure - Heap

자료구조 힙

데이터 구조에서 힙이란? 힙(Heap)은 완전 이진 트리로, 특정한 힙 속성을 만족하는 자료구조입니다. 힙 속성은 다음 두 가지로 나뉩니다: 최대 힙(Max-Heap): 각 노드의 값이 자식 노드의 값보다 크거나 같아야 합니다. 즉, 가장 큰 값이 루트에 위치합니다. 최소 힙(Min-Heap): 각 노드의 값이 자식 노...