13 / 18 · 필수 학습
JavaScript Union-Find: 경로 압축과 크기 합치기로 연결 상태 관리하기
다섯 장치를 연결하며 대표 번호와 묶음을 이해합니다. parent 배열을 직접 따라간 뒤 경로 압축과 크기 합치기의 이유를 배웁니다.
자료구조 고급 단계에 공개된 학습 글입니다. 단계별 목표를 참고해 필요한 글부터 읽어 보세요.
각 단계의 학습 목표입니다. 공개된 글은 위의 단계별 링크에서 바로 볼 수 있습니다.
배열과 연결 구조 및 기본 자료구조의 동작을 익혀, 자료를 저장하고 찾는 방식과 연산 비용을 비교하는 방법을 다룹니다.
학습 주제
탐색과 우선순위 및 관계 표현에 맞는 자료구조를 선택하여, 여러 연산이 결합된 문제를 구현하고 분석하는 방법을 다룹니다.
학습 주제
데이터 규모와 변경 패턴을 근거로, 자료구조의 공간 및 시간 비용을 비교하고 불변식을 검증하는 설계를 다룹니다.
학습 주제
총 6개의 글
13 / 18 · 필수 학습
다섯 장치를 연결하며 대표 번호와 묶음을 이해합니다. parent 배열을 직접 따라간 뒤 경로 압축과 크기 합치기의 이유를 배웁니다.
14 / 18 · 필수 학습
작은 단어 목록으로 Trie의 공유 경로와 단어 끝을 배웁니다. 접두사 개수와 삭제 때 보존할 연결을 상태 변화로 따라갑니다.
15 / 18 · 필수 학습
여덟 칸의 담당 구간을 먼저 그려 Fenwick Tree를 배웁니다. prefix(7)의 구간 분해와 lowbit, 조회·갱신 방향을 작은 코드로 확인합니다.
16 / 18 · 필수 학습
작은 배열의 합계 트리로 세그먼트 트리를 배웁니다. 구간을 나누어 읽는 과정과 값 하나를 바꿀 때 고칠 부모를 단계별로 설명합니다.
17 / 18 · 필수 학습
용량 두 칸의 캐시로 LRU 정책을 배웁니다. Map 조회와 이중 연결 리스트의 위치 이동을 분리해 각 연결을 바꾸는 이유를 설명합니다.
18 / 18 · 필수 학습
작은 트리의 회전 전후를 비교하며 AVL을 배웁니다. 가운데 가지의 이동과 높이 갱신 순서를 먼저 익히고 네 회전과 전체 구현으로 연결합니다.