자료구조란?
데이터를 효율적으로 저장하고 관리하기 위한 구조. 알고리즘을 설계하고 성능을 높이기 위해 반드시 필요한 기본 지식.
1.
배열 (Array)
특징
: 같은 타입의 데이터를
연속된 메모리 공간
에 저장.
장점
: 인덱스를 통해
빠르게 접근(O(1))
가능.
단점
: 삽입/삭제 시
데이터 이동
필요 →
느림(O(n))
예시
2.
연결 리스트 (Linked List)
특징
: 각 노드가
데이터 + 다음 노드 주소(pointer)
포함
장점
: 중간 삽입/삭제가 빠름
단점
: 인덱스로 접근 불가 →
탐색 느림(O(n))
예시
3.
스택 (Stack)
특징
:
LIFO(Last In First Out)
구조
연산
:
push
(삽입),
pop
(삭제)
시간복잡도
: 삽입/삭제 O(1)
예시