1. 트리(Tree)란? 트리는 *노드(Node)들이 부모-자식 관계로 연결된 자료구조를 의미한다. 하나의 최상위 노드에서 시작해 아래로 가지가 뻗어나가는 형태를 가진다. 이런 구조 덕분에 트리는 단순히 데이터를 담는 그릇을 넘어 계층을 표현하거나 범위를 나누어 탐색할 때 강점을 가지게 된다. 트리를 이해하기 위해 필요한 용어부터 정리해보자. *노드(Node) - 트리를 구성하는 하나의 데이터 단위 루트(Root) - 트리의 시작점, 가장 위에 있는 노드 부모/자식(Parent/Child) - 연결된 노드들 사이의 상하 관계 리프
1. 해시 테이블이란? 해시 테이블은 키(Key)를 해시 함수(Hash Function)에 입력하여 얻은 정수 값을 배열의 인덱스로 사용해 데이터를 저장하고 조회하는 자료구조다. 배열의 인덱스 접근 특성을 활용하기 때문에 평균적으로 탐색, 삽입, 삭제 연산을 O(1) 시간에 수행할 수 있는 것이 특징이다. [관련 자료구조] Map 키(Key)와 값(Value)의 쌍을 저장하고 관리하는 추상 자료형 Set 중복을 허용하지 않으며 특정 값의 존재 여부를 관리하는 추상 자료형 이러한 자료구조는 해시 테이블 기반으로 구현될 경우 평균적으로
1. 스택(Stack)이란? 스택은 "쌓는다"는 개념과 가장 잘 어울리는 자료구조다. 데이터를 차곡차곡 쌓아 올리는 형태로 저장하며 가장 마지막에 들어간 데이터가 가장 먼저 제거되는 후입선출(LIFO, Last-In-First-Out) 방식으로 동작한다. 주요 연산 스택은 구조적으로 한쪽 끝(Top)에서만 데이터의 접근, 삽입, 삭제가 이루어진다. push(item): 스택의 맨 위에 새로운 데이터를 추가한다. pop(): 스택의 맨 위에 있는 데이터를 제거하고 그 값을 반환한다. peek() 또는 top(): 스택의 맨 위에 있는
데이터를 저장하는 방식은 프로그램의 성능에 직접적인 영향을 미친다. 배열(Array)과 동적 배열(Dynamic Array) 그리고 연결 리스트(Linked List)는 대표적인 선형 자료구조이지만, 구조가 다르기 때문에 조회 / 삽입 / 삭제와 같은 연산 성능에서 차이가 발생한다. 각 자료구조의 특징과 장단점을 이해하면 상황에 맞는 자료구조를 선택해 프로그램 성능을 향상시킬 수 있다. 선형 자료구조(Linear Data Structure)란 데이터가 논리적인 순서를 가지는 자료구조를 뜻한다. 각 데이터는 앞뒤 순서를 가지며, 처음