Interactive algorithm visualizer 볡μ‘ν μκ³ λ¦¬μ¦μ ν λ¨κ³μ© λμΌλ‘ μ΄ν΄νλ μΈν°λν°λΈ μκ°ν νλ«νΌ
μκ³ λ¦¬μ¦μ μ€ν νλ¦μ λ¨κ³λ³λ‘ μκ°ννλ μΈν°λν°λΈ νμ΅ μ¬μ΄νΈμ λλ€.
κ·Έλν νμ, DP ν μ΄λΈ κ°±μ , μμ€ μ½λ νμ΄λΌμ΄ν μ΄ μ€ν λ§λ€ λκΈ°νλμ΄ μκ³ λ¦¬μ¦μ νλ¦μ μ§κ΄μ μΌλ‘ μ΄ν΄ν μ μμ΅λλ€. 컀μ€ν κ·Έλν μλν°λ‘ μ§μ κ·Έλνλ₯Ό κ·Έλ € μ€νν μλ μμ΅λλ€.
- μ΄μ / λ€μ / μλμ¬μ μΌλ‘ μκ³ λ¦¬μ¦ μ€ν νλ¦μ ν μ€ν μ© μ μ΄
- κ° μ€ν λ§λ€ κ·Έλν, ν μ΄λΈ, μ½λ κ° λκΈ°νλμ΄ μ λ°μ΄νΈ
- νμ¬ μ€ν μμ λ¬΄μ¨ μΌμ΄ μΌμ΄λλμ§ ν μ€ μ€λͺ μ 곡
- λ°©λ¬Έ μ¬λΆ, νμ¬ μμΉ, μ΄λ λμμ μμμΌλ‘ ꡬλΆ
- κ°μ κ°μ€μΉ, λ°©ν₯ νμ΄ν νμ
- 컀μ€ν κ·Έλν μλν°λ‘ μ§μ λ Έλ/κ°μ μΆκ° ν μκ°ν μ€ν
- TSP β
dp[mask][city]2D ν μ΄λΈ, Top-down / Bottom-up ν κΈ λΉκ΅ - λ€μ΅μ€νΈλΌ β 거리 λ°°μ΄ + μ°μ μμ ν μν μ€μκ° νμ
- A* β g(x), h(x), f(x) μ€μ½μ΄ ν μ΄λΈ, ν΄λ¦¬μ€ν± λ°©ν₯ μ μ
- 벨λ§-ν¬λ β λΌμ΄λλ³ κ°±μ νμ λ° μ°¨νΈ, μμ μ¬μ΄ν΄ κ°μ§
- νλ‘μ΄λ-μμ β NΓN νλ ¬ μ 체 κ°±μ , κ²½μ λ Έλ k κ°μ‘°
- BFS / DFS β ν/μ€ν μ€μκ° μκ°ν, λ°©λ¬Έ μμ λΉκ΅
- μμμ λ ¬ β μΉΈμ μκ³ λ¦¬μ¦(μ§μ μ°¨μ) + DFS λ°©μ λΉκ΅
- ν¬λ£¨μ€μΉΌ / νλ¦Ό β Union-Find νΈλ¦¬/λ°°μ΄ λ·°, μ λ ¬λ κ°μ λͺ©λ‘
- νμ¬ μ€ν μ€μΈ μ½λ λΌμΈ νμ΄λΌμ΄ν
- μ½λ μ 체 λ³΅μ¬ λ²νΌ
- μκ³ λ¦¬μ¦ λ³ν(Top-down / Bottom-up) μ ν μ μ½λλ ν¨κ» μ ν
- μκ³ λ¦¬μ¦λ³ "~λ?" λͺ¨λ¬ β λ¬Έμ μ μ, ν΅μ¬ μμ΄λμ΄, 볡μ‘λ
- κ΄λ ¨ λ°±μ€ λ¬Έμ β λμ΄λ, N λ²μ, 볡μ‘λ μ 보 ν¬ν¨
- μΉ΄ν κ³ λ¦¬ / ν¨λ¬λ€μλ³ κ²μ λ° νν°
- λ€ν¬λͺ¨λ μ§μ
- λ°μν β λͺ¨λ°μΌμμλ λμ
- μ’μ νλ©΄μμ νλ²κ±° λ©λ΄ + μ½λ λλ‘μ΄ λ‘ μ ν
| μκ³ λ¦¬μ¦ | μΉ΄ν κ³ λ¦¬ | ν¨λ¬λ€μ | μκ°λ³΅μ‘λ | λμ΄λ |
|---|---|---|---|---|
| BFS / DFS | κ·Έλν νμ | Traversal | O(V+E) | Easy |
| λ€μ΅μ€νΈλΌ | μ΅λ¨κ²½λ‘ | Greedy | O((V+E) log V) | Medium |
| 벨λ§-ν¬λ | μ΅λ¨κ²½λ‘ | DP | O(VE) | Medium |
| νλ‘μ΄λ-μμ | μ΅λ¨κ²½λ‘ | DP | O(VΒ³) | Medium |
| A* | μ΅λ¨κ²½λ‘ | Greedy | O(E log V) | Medium |
| μμμ λ ¬ | κ·Έλν νμ | Traversal | O(V+E) | Medium |
| ν¬λ£¨μ€μΉΌ / νλ¦Ό | MST | Greedy | O(E log E) | Medium |
| TSP (μΈνμ μν) | μ΅μ ν | DP | O(NΒ² Γ 2^N) | Hard |
μꡬμ¬ν: Node.js 20.19+ λλ 22.12+
git clone https://github.com/nahyun27/algotrace.git
cd algotrace
npm install
npm run devλΈλΌμ°μ μμ http://localhost:5173 μ΄κΈ°
| μν | κΈ°μ |
|---|---|
| νλ μμν¬ | React 18 + TypeScript |
| λΉλ | Vite |
| μ€νμΌλ§ | Tailwind CSS |
| μ λλ©μ΄μ | Framer Motion |
| λΌμ°ν | React Router |
| λ°°ν¬ | Vercel |
μλ‘μ΄ μκ³ λ¦¬μ¦μ κΈ°μ¬νκ³ μΆλ€λ©΄:
src/algorithms/<name>/ν΄λ μμ±solver.tsβ Step λ°°μ΄ λ°ννλ ν¨μ ꡬνtypes.tsβ Step νμ μ μsrc/pages/AlgorithmPage/μ λΌμ°νΈ μΆκ°- ν μΉ΄λ λͺ©λ‘μ λ±λ‘

