CHUCK CHUCK 박사

잼잼 개발자

[Algorithm] Data Structure - Bloom Filter

자료구조 그래프

Bloom Filter? 블룸 필터는 집합에 원소가 포함되어 있는지를 테스트하기 위해 사용되는 확률적 자료 구조입니다. 공간 효율성이 매우 뛰어나지만, 몇 가지 단점도 존재합니다: 거짓 긍정(false positives)이 발생할 수 있는데, 이는 원소가 집합에 속하지 않지만 속한다고 잘못 판단할 수 있음을 의미합니다. 하지만 거짓...

[Algorithm] Data Structure - Disjoint Set

자료구조 분리 집합

Disjoint Set? 분리 집합(Disjoint Set, 유니언 파인드라고도 불림)은 중복되지 않는 여러 개의 집합을 관리하는 자료구조입니다. 이 자료구조는 두 가지 주요 연산을 제공합니다: Find: 특정 요소가 속한 집합(또는 대표자)을 찾습니다. Union: 두 개의 집합을 하나로 합칩니다. 이 자료구조는 동...

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