Data Structures 시각적으로 이해하기
각 개념의 아키텍처를 애니메이션 다이어그램으로 살펴보세요. 카드를 클릭하면 더 깊은 내용을 확인할 수 있습니다.
🧱
Array
연속 메모리 기반 순차 컬렉션
Array는 같은 종류의 값을 순서대로 놓고, 정수 인덱스로 곧바로 읽을 수 있게 만든 기본 컬렉션입니다. '몇 번째 값인가'가 중요한 문제에서 가장 먼저 떠올리는 구조이며, 많은 다른 구조의 바탕이 되기도 합니다.
🔗
Linked List
포인터로 이어진 순차 컬렉션
Linked list는 각 원소가 값뿐 아니라 다음 원소를 가리키는 참조를 함께 들고 있는 순차 구조입니다. 데이터가 한 덩어리의 연속 공간에 있는 것이 아니라, 노드들이 연결 관계로 하나의 리스트를 이룹니다.
🌿
BST
정렬 관계를 유지하는 탐색 트리
Binary Search Tree(BST)는 각 노드의 왼쪽 서브트리에는 더 작은 키, 오른쪽 서브트리에는 더 큰 키가 오도록 정렬 규칙을 유지하는 트리입니다. 값의 존재 여부만 빠르게 찾는 것이 아니라, 정렬 순서 자체를 구조 안에 보관한다는 점이 핵심입니다.
⛰️
Heap
우선순위를 빠르게 꺼내는 완전 이진 트리
Binary heap은 완전 이진 트리 모양을 유지하면서, 부모 노드가 자식보다 더 우선인 규칙을 지키는 구조입니다. 최소 힙이면 가장 작은 값이 루트에, 최대 힙이면 가장 큰 값이 루트에 위치합니다. 목적은 전체 정렬이 아니라 '지금 가장 우선인 원소'를 반복해서 빠르게 꺼내는 데 있습니다.