복잡도가 왜 필요한가?(- 시간 복잡도( - 기본 개념( - 주요 시간 복잡도 유형( - 성능 비교(- 공간 복잡도( - 기본 개념( - 공간의 종류( - 주요 공간 복잡도 유형(- 시간 vs 공간 트레이드오프(- 프론트엔드에서의 활용(- 실무 적용 가이드(
자료구조는 컴퓨터에서 데이터를 효율적으로 저장하고 조작할 수 있도록 데이터를 조직화하는 방법이다.시간 복잡도: 데이터 검색, 삽입, 삭제 작업의 속도를 최적화한다공간 복잡도: 메모리 사용량을 효율적으로 관리한다적절한 자료구조 선택으로 O(n²)에서 O(log n)으로
배열은 같은 타입의 데이터를 연속된 메모리 공간에 순차적으로 저장하는 선형 자료구조다. 인덱스를 통해 각 요소에 직접 접근할 수 있다.아파트 복도의 호실들101호, 102호, 103호... 순서대로 번호가 매겨져 있다특정 호실(인덱스)을 알면 바로 찾아갈 수 있다 -
연결 리스트는 노드(Node)들이 포인터를 통해 연결된 선형 자료구조다. 각 노드는 데이터와 다음 노드를 가리키는 포인터(또는 참조)로 구성된다.보물찾기 게임의 단서들각 장소에서 "다음 단서는 도서관에 있다"는 메모를 남김특정 단서를 찾으려면 처음부터 순서대로 따라가야
스택은 LIFO(Last In First Out) 원칙을 따르는 선형 자료구조다. 마지막에 삽입된 요소가 가장 먼저 삭제되는 구조로, 한쪽 끝(top)에서만 삽입과 삭제가 이루어진다.push: 스택의 최상단에 요소 삽입pop: 스택의 최상단 요소 제거 및 반환peek/
큐는 FIFO(First In First Out) 원칙을 따르는 선형 자료구조다. 먼저 삽입된 요소가 가장 먼저 삭제되는 구조로, 한쪽 끝(rear)에서 삽입하고 다른 쪽 끝(front)에서 삭제가 이루어진다.enqueue: 큐의 뒤쪽(rear)에 요소 삽입dequeu
덱(Deque, Double Ended Queue)은 양쪽 끝에서 삽입과 삭제가 모두 가능한 선형 자료구조다. 스택과 큐의 기능을 모두 포함하는 더 일반적인 자료구조로, 앞쪽(front)과 뒤쪽(rear) 모두에서 요소를 추가하거나 제거할 수 있다.addFront(it
트리(Tree)는 노드(Node)들이 계층적으로 연결된 비선형 자료구조다. 하나의 루트 노드에서 시작하여 자식 노드들이 가지처럼 뻗어나가는 구조로, 사이클이 없는 연결된 그래프의 특수한 형태다.루트(Root): 최상위 노드 (A)부모(Parent): 상위 노드 (B는