애니메이션
총 29개. 본문 코드 펜스로 삽입할 수 있습니다:
```anim:<id>
``` 🔢 알고리즘
단절점은 제거했을 때 그래프가 두 개 이상의 컴포넌트로 분리되는 정점입니다.
정렬 배열에서 target 을 O(log n) 에 찾는 알고리즘. lo/hi/mid 포인터로 절반씩 좁힘.
단절선은 제거했을 때 그래프가 두 개 이상의 컴포넌트로 분리되는 간선입니다.
가중 그래프에서 시작 정점으로부터 모든 정점까지의 최단 거리를 찾는 알고리즘
Dynamic Programming approach to 0/1 Knapsack using a 1D array.
큐(Queue)를 사용하여 가까운 노드부터 탐색합니다.
스택(Stack)을 사용하여 깊은 곳부터 우선적으로 탐색합니다.
5-bucket 해시 테이블에 5개 key 삽입. 같은 bucket 에 들어가는 key 는 연결 리스트로 chain 됨.
text='ABABABC' 에서 pattern='ABABC' 찾기. failure 함수로 mismatch 시 효율적 점프
PUT(A), PUT(B), PUT(C), GET(A), PUT(D) — D 삽입 시 가장 오래된 B 가 evict
6 정점 / 8 간선의 가중 그래프에서 가중치 정렬 + Union-Find 로 사이클 없는 최소 신장 트리 구축
첫 원소를 pivot 으로 잡고 좌(작은) / 우(큰) 으로 분할하는 한 단계 시각화
배열 [3, 1, 4, 1] 에 대한 합 세그먼트 트리에서 구간 [1..2] 의 합을 O(log n) 에 찾는 과정
루트에서 시작해 너비 우선 (level order)으로 노드 방문
Divides array into blocks of size sqrt(N) to optimize range queries.
DFS 의 tin/low 값으로 단절점 (제거 시 그래프가 분리되는 정점) 을 찾는 Tarjan 알고리즘
DFS 의 tin/low 값으로 단절선 (제거 시 그래프가 분리되는 간선) 을 찾는 Tarjan 알고리즘
접두사 'ca'로 시작하는 모든 단어를 효율적으로 찾습니다. (저장된 단어: cat, car, card)
서로소 집합을 트리 형태로 표현하며, Find 연산 시 경로 압축(Path Compression)을 수행합니다.
🏛 아키텍처
웹 브라우저의 기본 UI 구조
Primary 에 쓰기 → Replica 들에 WAL 스트림 복제
Load Balancer 가 요청을 서버 풀에 라운드 로빈으로 분산
🌐 네트워크
📡 프로토콜
사용자 인증 → 인가 코드 → 액세스 토큰 교환
데이터가 송신 측에서 캡슐화되고 수신 측에서 디캡슐화되는 과정
TCP 연결 수립: SYN → SYN+ACK → ACK