Home > Data Structure > 🧩 [Data Structure] 자료ꡬ쑰 λ¬΄μ—‡μΌκΉŒμš”?

🧩 [Data Structure] 자료ꡬ쑰 λ¬΄μ—‡μΌκΉŒμš”?
Data Structure

🧩 [Data Structure] 자료ꡬ쑰 λ¬΄μ—‡μΌκΉŒμš”?

1️⃣ μžλ£Œκ΅¬μ‘°λŠ” 데이터λ₯Ό μ €μž₯, 쑰직, κ΄€λ¦¬ν•˜λŠ” 방법.

  • 자료ꡬ쑰
    • 자료(데이터)에 효율적으둜 μ ‘κ·Όν•˜κ³  μˆ˜μ •ν•  수 μžˆλ„λ‘ μ €μž₯, 쑰직, κ΄€λ¦¬ν•˜λŠ” 방법에 κ΄€ν•œ 이둠.

2️⃣ μžλ£Œκ΅¬μ‘°λŠ” 문제 해결에 μ‚¬μš©ν•  λΆ€ν’ˆ.

  • μ•Œκ³ λ¦¬μ¦˜
    • 문제 ν•΄κ²° μž‘μ—…μ„ μˆ˜ν–‰ν•˜κΈ° μœ„ν•΄ μž…λ ₯을 λ°›μ•„ μ›ν•˜λŠ” 좜λ ₯을 λ§Œλ“€μ–΄ λ‚΄λŠ” 과정을 κΈ°μˆ ν•œ 것.
  • 자료ꡬ쑰
    • 문제 ν•΄κ²° μž‘μ—…μ„ μˆ˜ν–‰ν•˜κΈ° μœ„ν•΄ μž…λ ₯을 λ°›μ•„ μ›ν•˜λŠ” 좜λ ₯을 λ§Œλ“€μ–΄ λ‚΄λŠ” κ³Όμ •μ—μ„œ λΆ€ν’ˆμ˜ μ—­ν• .
  • 자료ꡬ쑰 ν•™μŠ΅μ‹œ ν•„μš”λŠ₯λ ₯
    • μžλ£Œκ΅¬μ‘°λŠ” ν”„λ‘œκ·Έλž¨μœΌλ‘œ κ΅¬ν˜„λ˜κ³  μ‚¬μš©λ˜λ―€λ‘œ 자료ꡬ쑰λ₯Ό ν•™μŠ΅ν•˜λ €λ©΄ ν”„λ‘œκ·Έλž˜λ° λŠ₯λ ₯이 기본으둜 ν•„μš”.
    • 자료ꡬ쑰λ₯Ό κ΅¬ν˜„, μ‚¬μš©, κ²°ν•©ν•˜λŠ” κ³Όμ •μ—μ„œ μˆ˜ν•™μ  사고도 크게 도움이 됨.
      • 사고가 μ²΄κ³„μ μΌμˆ˜λ‘ 자료ꡬ쑰λ₯Ό μ‚¬μš©ν•œ 결과물은 κ°€λͺ…ν•˜κ³  κ΄€λ¦¬ν•˜κΈ° μ‰¬μ›Œμ§.
      • μžλ£Œκ΅¬μ‘°μ™€ λ°€μ ‘ν•œ 관련이 μžˆλŠ” μˆ˜ν•™μ€ μˆ˜μ—΄, μˆ˜ν•™μ  귀납법 등을 ν¬ν•¨ν•˜λŠ” 이산 μˆ˜ν•™μž„.
        • μ•„λž˜ 그림은 μ•Œκ³ λ¦¬μ¦˜, 자료ꡬ쑰, ν”„λ‘œκ·Έλž˜λ°, 이산 μˆ˜ν•™μ˜ 관계λ₯Ό λ‚˜νƒ€λƒ„.
  • μžλ£Œκ΅¬μ‘°λŠ” 운영체제, 컴퓨터 λ„€νŠΈμ›Œν¬, 인곡지λŠ₯, μ‹œμŠ€ν…œ ν”„λ‘œκ·Έλž˜λ°, 컴파일러 λ“± 컴퓨터 κ³Όν•™μ˜ 거의 λͺ¨λ“  주제λ₯Ό κ΅¬ν˜„ν•˜κΈ° μœ„ν•œ μ‚¬κ³ μ˜ λΉŒλ”© 블둝을 μ œκ³΅ν•¨.

3️⃣ μžλ£Œκ΅¬μ‘°λŠ” μƒκ°ν•˜λŠ” 방법을 ν›ˆλ ¨ν•˜λŠ” 도ꡬ.

  • 자료ꡬ쑰λ₯Ό λ‹€λ£¨λŠ” 과정에 ν¬ν•¨λœ β€˜μƒκ°ν•˜λŠ” 방법’도 맀우 μ€‘μš”ν•¨.
    • 자료ꡬ쑰λ₯Ό κ΅¬ν˜„ν•˜λŠ” κ³Όμ •.
    • μžλ£Œκ΅¬μ‘°λ“€μ„ μ΄μš©ν•΄μ„œ 문제λ₯Ό ν•΄κ²°ν•˜λŠ” κ³Όμ •.
    • 문제λ₯Ό ν•΄κ²°ν•˜λŠ” κ³Όμ •μ—μ„œ λ…Όλ¦¬μ˜ 골격이 κ΅¬μ„±λ˜λŠ” 방법 λ˜λŠ” μŠ€νƒ€μΌ λ“±
      • μžλ£Œκ΅¬μ‘°μ—μ„œ μ‹œμž‘λ˜λŠ” μ‹œ μƒκ°ν•˜λŠ” 방법은 μžμ—°μŠ€λŸ½κ²Œ μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ 연결됨.
  • 문제 해결을 μœ„ν•œ μƒκ°μ˜ κ³Όμ •μ—μ„œ β€˜μ˜λ―Έ λ‹¨μœ„λ₯Ό μž‘λŠ” 일’은 맀우 μ€‘μš”ν•˜λ‹€.
    • β€˜μ˜λ―Έμ˜ 맀듭을 λ§Œλ“ λ‹€β€™κ³ λ„ ν‘œν˜„ν•  수 μžˆλ‹€.
      • 큰 ν”„λ‘œμ νŠΈλ₯Ό μ—¬λŸ¬ λͺ¨λ“ˆλ‘œ λΆ„ν•΄ν•˜λ©΄ 각 λͺ¨λ“ˆμ΄ β€˜μ˜λ―Έμ˜ 맀듭’이 λœλ‹€.
        • 또 각 λͺ¨λ“ˆμ€ 더 μž‘μ€ λͺ¨λ“ˆλ‘œ λ‚˜λ‰  수 μžˆλ‹€.
          • 즉, β€˜μ˜λ―Έμ˜ 맀듭;은 μ—¬λŸ¬ 크기둜 μ‚°μž¬ν•  수 μžˆλ‹€.
    • ν”„λ‘œκ·Έλž˜λ°μ—μ„œ μ–΄λ–€ μž‘μ—…μ„ ν•¨μˆ˜λ‘œ λ§Œλ“œλŠ” 것도 β€˜λͺ¨λ“ˆν™”μ˜ 일쒅’이닀.
      • ν•¨μˆ˜λ‘œ λΆ„λ¦¬ν•˜λ©΄ κ°•ν•œ 의미 λ‹¨μœ„κ°€ λœλ‹€λŠ” λœ»μ΄λ‹€.
    • β€˜μ˜λ―Έμ˜ 맀듭;을 λ§Œλ“œλŠ” κ³Όμ •μ—μ„œ β€˜μ—¬λŸ¬ 가지 μƒκ°μ˜ ꡬ쑰가 κ°œμž…β€™λ  수 μžˆλŠ”λ° β€˜κ°€μž₯ μ€‘μš”ν•œ ꡬ쑰’쀑 ν•˜λ‚˜κ°€ β€˜μž¬κ·€β€™λ‹€.
  • 컴퓨터 κ³Όν•™ μ „λ°˜μ— 걸쳐 κ°€μž₯ μ€‘μš”ν•œ 사고 체계 쀑 ν•˜λ‚˜
    • μž¬κ·€
      • μ–΄λ–€ λ¬Έμ œκ°€ μžμ‹ κ³Ό 성격이 λ˜‘κ°™μ§€λ§Œ 크기만 더 μž‘μ€ 문제λ₯Ό ν¬ν•¨ν•˜κ³  μžˆλŠ” ꡬ쑰λ₯Ό 말함.
      • β€˜ν° 의미 맀듭’이 β€˜κ°™μ€ λͺ¨μ–‘μ˜ 더 μž‘μ€ 의미 맀듭’을 β€˜1개 이상 ν¬ν•¨β€™ν•˜κ³  μžˆλŠ” 것이라 ν•  수 μžˆλ‹€.
        • μ•„λž˜ 그림은 μž¬κ·€μ  ꡬ쑰의 μ‹œμ—λ₯΄ν•€μŠ€ν‚€ μ‚Όκ°ν˜• 예둜, 같은 ꡬ쑰가 κ³„μΈ΅μ μœΌλ‘œ λ°˜λ³΅λ˜λŠ” 것을 λ³Ό 수 μžˆλ‹€.

4️⃣ 자료ꡬ쑰의 μ’…λ₯˜μ™€ μžλ°”μ˜ μ»¬λ ‰μ…˜ νŒ¨ν‚€μ§€.

  • μžλ£Œκ΅¬μ‘°λŠ” μ•„λž˜ κ·Έλ¦Όκ³Ό 같이 μ’…λ₯˜κ°€ λ‹€μ–‘ν•˜μ§€λ§Œ 상황과 λͺ©μ μ— 맞게 μ μ ˆν•œ 자료ꡬ쑰λ₯Ό μ„ νƒν•¨μœΌλ‘œμ¨ 효율적인 데이터 관리가 κ°€λŠ₯.

  • μžλ°”μ˜ 경우 클래슀 μ’…λ₯˜λ³„ νŒ¨ν‚€μ§€λ‘œ λΆ„λ₯˜λ˜μ–΄ μžˆλŠ”λ° 그쀑 자료ꡬ쑰 κ΄€λ ¨ 클래슀λ₯Ό λͺ¨μ•„λ‘” νŒ¨ν‚€μ§€κ°€ μ•„λž˜ κ·Έλ¦Όκ³Ό 같은 μ»¬λž™μ…˜ νŒ¨ν‚€μ§€μ΄λ‹€.

  • 이 νŒ¨ν‚€μ§€μ—μ„œ λ‹€μ–‘ν•œ 자료ꡬ쑰λ₯Ό μ†μ‰½κ²Œ 사져닀 μ“Έ 수 μžˆμ–΄ 같은 μ‹œκ°„ λ™μ•ˆ μ˜›λ‚ λ³΄λ‹€ 훨씬 큰 μž‘μ—…μ„ μˆ˜ν–‰ κ°€λŠ₯.

    • μ΄λ ‡κ²Œ 미리 λ§Œλ“€μ–΄λ‘” 것은 λ²”μš©μœΌλ‘œ μ‚¬μš©ν•  수 μžˆλ„λ‘ μ§€λ‚˜μΉ˜κ²Œ λ§Žμ€ κΈ°λŠ₯을 μ œκ³΅ν•˜κ±°λ‚˜, 핡심에 μ§‘μ€‘ν•˜κΈ° μœ„ν•΄ μ΅œμ†Œν•œμ˜ κΈ°λŠ₯만 λ„£μ–΄ 놓은 κ²½μš°λ„ 있음.
      • λ”°λΌμ„œ 효율적인 코딩을 μœ„ν•΄ 직접 λ§Œλ“œλŠ” 것이 더 λ°”λžŒμ§ν•œ κ²½μš°λ„ 있음
        • 자료ꡬ쑰λ₯Ό 직접 λ§Œλ“€κ±°λ‚˜ λ§Œλ“€μ–΄μ§„ 것을 λͺ©μ μ— 맞게 잘 ν™œμš©ν•˜λ €λ©΄ 자료ꡬ쑰 λ‚΄λΆ€μ˜ μž‘λ™μ›λ¦¬λ₯Ό μ΄ν•΄ν•˜κ³  μžˆμ–΄μ•Ό 함.