자료구조 개념
자료를 저장하고 꺼내는 원리를 익히고, 각 개념 글에서 연결된 문제로 연습하세요.
단계별 학습 목표
각 단계의 학습 목표입니다. 공개된 글은 위의 단계별 링크에서 바로 볼 수 있습니다.
초급 목표
배열과 연결 구조 및 기본 자료구조의 동작을 익혀, 자료를 저장하고 찾는 방식과 연산 비용을 비교하는 방법을 다룹니다.
학습 주제
- 배열과 연결 리스트
- 스택과 큐
- 집합과 맵
중급 목표
탐색과 우선순위 및 관계 표현에 맞는 자료구조를 선택하여, 여러 연산이 결합된 문제를 구현하고 분석하는 방법을 다룹니다.
학습 주제
- 트리와 힙
- 그래프 표현
- 해시와 탐색 비용
고급 목표
데이터 규모와 변경 패턴을 근거로, 자료구조의 공간 및 시간 비용을 비교하고 불변식을 검증하는 설계를 다룹니다.
학습 주제
- 불변식과 정확성 검증
- 복합 자료구조 설계
- 최악 비용과 분할 상환
기존 과정 안의 글 순서와 읽음 기록을 그대로 사용합니다.
초급 6개
학습 1 / 23 · 필수 학습
자료구조 선택 가이드: 연산 비용으로 배열·스택·큐·Set 고르기학습 2 / 23 · 필수 학습
JavaScript 배열: 인덱스 조회와 삽입·삭제 비용학습 3 / 23 · 필수 학습
JavaScript Map·Set: 값 조회와 중복 제거 실습학습 4 / 23 · 필수 학습
자료구조 스택 쉽게 이해하기: push pop으로 문제 풀이 감 잡기학습 5 / 23 · 필수 학습
큐와 FIFO: head 인덱스로 JavaScript 대기열 만들기학습 6 / 23 · 필수 학습
단방향 연결 리스트: head·tail 삽입과 삭제
이 단계의 학습 글은 준비 중입니다.
중급 6개
학습 7 / 23 · 필수 학습
JavaScript 원형 덱 구현: 양끝 삽입·삭제와 고정 용량 버퍼학습 8 / 23 · 필수 학습
JavaScript 문자열 해시 테이블 구현: 충돌 처리와 리사이즈, NFC 정규화학습 9 / 23 · 필수 학습
트리 자료구조 차이: 이진 트리 BST MST 구분하기학습 10 / 23 · 필수 학습
JavaScript 이진 탐색 트리 구현: 중복 키와 세 가지 삭제 처리학습 11 / 23 · 필수 학습
JavaScript 최소 힙 구현: 우선순위 큐의 push·pop과 비교 함수학습 12 / 23 · 필수 학습
JavaScript 그래프 구현: 인접 리스트·인접 행렬 비교와 BFS
이 단계의 학습 글은 준비 중입니다.
고급 11개
학습 13 / 23 · 필수 학습
JavaScript Union-Find: 경로 압축과 크기 합치기로 연결 상태 관리하기학습 14 / 23 · 필수 학습
JavaScript Trie: Unicode 접두사 검색과 안전한 삭제 구현학습 15 / 23 · 필수 학습
JavaScript Fenwick Tree: lowbit로 구간 합과 단일 증가 갱신 구현학습 16 / 23 · 필수 학습
JavaScript 반복형 세그먼트 트리: 구간 합·단일 대입·결합 순서학습 17 / 23 · 필수 학습
JavaScript LRU 캐시: Map과 이중 연결 리스트의 불변식학습 18 / 23 · 필수 학습
JavaScript AVL 트리: 높이 불변식과 LL·RR·LR·RL 삽입 회전학습 19 / 23 · 필수 학습
AVL 트리 삭제: 높이 갱신과 연속 균형 복구학습 20 / 23 · 필수 학습
Red-Black 트리 원리: 색과 검은 높이로 균형 읽기학습 21 / 23 · 필수 학습
Red-Black 트리 삽입: LLRB 회전과 색 변환학습 22 / 23 · 필수 학습
Red-Black 트리 삭제: LLRB 색 이동과 검은 높이 복구학습 23 / 23 · 필수 학습
Trie 자동완성: 접두사 아래 단어를 정해진 순서로 모으기
이 단계의 학습 글은 준비 중입니다.