Home > Data Structure > 🧩 [Data Structure] μžλ£Œκ΅¬μ‘°μ™€ μ•Œκ³ λ¦¬μ¦˜

🧩 [Data Structure] μžλ£Œκ΅¬μ‘°μ™€ μ•Œκ³ λ¦¬μ¦˜
Data Structure

🧩 [Data Structure] μžλ£Œκ΅¬μ‘°μ™€ μ•Œκ³ λ¦¬μ¦˜

1️⃣ μžλ£Œκ΅¬μ‘°μ™€ μ•Œκ³ λ¦¬μ¦˜μ˜ 관계.

  • μ•Œκ³ λ¦¬μ¦˜(Algorithm)
    • 문제 ν•΄κ²° μž‘μ—…μ„ μˆ˜ν–‰ν•˜κΈ° μœ„ν•΄ μž…λ ₯을 λ°›μ•„ μ›ν•˜λŠ” 좜λ ₯을 λ§Œλ“€μ–΄λ‚΄λŠ” 과정을 κΈ°μˆ ν•œ 것
  • 자료ꡬ쑰
    • μ•Œκ³ λ¦¬μ¦˜κ³Ό λ°€μ ‘ν•œ 관련이 있음.
    • μ•Œκ³ λ¦¬μ¦˜ κ³Όλͺ©μ˜ 직전 단계.
    • κ·Έ 자체둜 μ—¬λŸ¬ μ•Œκ³ λ¦¬μ¦˜μ„ ν¬ν•¨ν•œλ‹€.

2️⃣ μ•Œκ³ λ¦¬μ¦˜ ν‘œκΈ°λ²•.

  • μ•Œκ³ λ¦¬μ¦˜μ„ λ§Œλ“€ λ•ŒλŠ” λͺ…μ‹œλœ μž…λ ₯μœΌλ‘œλΆ€ν„° μ›ν•˜λŠ” 좜λ ₯을 λ§Œλ“€μ–΄λ‚΄λŠ” 과정을 μ• λ§€ν•˜μ§€ μ•Šκ²Œ κΈ°μˆ ν•΄μ•Ό ν•œλ‹€.
    • 이 λͺ©μ μ΄ 효과적으둜 λ‹¬μ„±λœλ‹€λ©΄ ν‘œκΈ°λ²•μ€ 뢀차적인 λ¬Έμ œλ‹€.
    • μ•Œκ³ λ¦¬μ¦˜μ„ ν‘œκΈ°ν•˜λŠ” 방법은 ν•˜λ‚˜λ‘œ μ •ν•΄μ Έ μžˆμ§€ μ•ŠμœΌλ©° λ‹€μ–‘ν•œ λ°©λ²•μœΌλ‘œ ν‘œν˜„ν•  수 μžˆλ‹€.

1️⃣ μžμ—°μ–΄λ₯Ό μ΄μš©ν•œ μ„œμˆ μ  ν‘œν˜„.

  • μ•Œκ³ λ¦¬μ¦˜μ„ μ‚¬λžŒμ΄ μ“°λŠ” μžμ—°μ–΄(μ–Έμ–΄)둜 ν‘œν˜„ν•˜λŠ” 방법.
  • μžμ—°μ–΄λŠ” μ„œμˆ μ μΌ 뿐만 μ•„λ‹ˆλΌ μ“°λŠ” μ‚¬λžŒμ— 따라 μΌκ΄€μ„€μ΄λ‚˜ λͺ…확성을 μœ μ§€ν•˜κΈ° μ–΄λ ΅λ‹€.
    • λˆ„κ΅¬λΌλ„ μ‰½κ²Œ νžˆμ• ν•˜κ³  μ“Έ 수 μžˆμ–΄μ•Ό ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μ„ ν‘œν˜„ν•˜λŠ” λ°λŠ” ν•œκ³„κ°€ μžˆλ‹€.

2️⃣ μˆœμ„œλ„λ₯Ό μ΄μš©ν•œ 도식화.

  • μ•Œκ³ λ¦¬μ¦˜μ„ μˆœμ„œλ„(Flow Chart)λ₯Ό μž‘μ„±ν•˜λŠ” κ·œμΉ™μ— 따라 λ„μ‹ν™”ν•˜λŠ” 방법.
  • μˆœμ„œλ„λ₯Ό μ΄μš©ν•˜λ©΄ λͺ…λ Ήμ˜ 흐름을 μ‰½κ²Œ νŒŒμ•…ν•  수 μžˆμ§€λ§Œ λ³΅μž‘ν•œ μ•Œκ³ λ¦¬μ¦˜μ„ ν‘œν˜„ν•˜λŠ” λ°λŠ” ν•œκ³„κ°€ μžˆλ‹€.

3️⃣ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ₯Ό μ΄μš©ν•œ ꡬ체화.

  • μ•Œκ³ λ¦¬μ¦˜μ„ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ₯Ό μ‚¬μš©ν•΄ ν‘œν˜„ν•˜λŠ” 방법.
  • μ•Œκ³ λ¦¬μ¦˜ μžμ²΄κ°€ κ΅¬μ²΄ν™”λ˜λ―€λ‘œ μΆ”κ°€λ‘œ ꡬ체화할 ν•„μš”κ°€ μ—†μŒ.
    • ν•˜μ§€λ§Œ νŠΉμ •ν•œ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ‘œ μž‘μ„±ν•˜κΈ° λ•Œλ¬Έμ— ν•΄λ‹Ή μ–Έμ–΄λ₯Ό λͺ¨λ₯΄λ©΄ μ΄ν•΄ν•˜κΈ° μ–΄λ ΅λ‹€.
    • λ‹€λ₯Έ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ‘œ ν”„λ‘œκ·Έλž¨μ„ κ°œλ°œν•˜λŠ” 경우, λ‹€λ₯Έ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ‘œ λ³€ν™˜ν•΄μ•Ό ν•˜λ―€λ‘œ λ²”μš©μ„±μ΄ 떨어짐.

4️⃣ κ°€μƒμ½”λ“œλ₯Ό μ΄μš©ν•œ 좔상화.

  • μ•Œκ³ λ¦¬μ¦˜μ„ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ‘œ ν‘œν˜„ν–ˆμ„ λ•Œ μƒκΈ°λŠ” 단점을 λ³΄μ™„ν•œ 방법.
  • νŠΉμ • ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λŠ” μ•„λ‹ˆμ§€λ§Œ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ˜ ν˜•νƒœλ₯Ό κ°–μΆ˜ κ°€μƒμ½”λ“œ(Pseudo-Code)둜 μ•Œκ³ λ¦¬μ¦˜μ„ ν‘œν˜„.
  • κ°€μƒμ½”λ“œλŠ” ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄κ°€ μ•„λ‹ˆλ―€λ‘œ 직접 μ‹€ν–‰ λΆˆκ°€, 일반적인 ν”„λ‘œκ·Έλž˜λ° 언어와 ν˜•νƒœκ°€ μœ μ‚¬ν•΄ μ›ν•˜λŠ” νŠΉμ • ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ‘œ κ΅¬μ²΄ν™”ν•˜κΈ° 쉬움.