U E D R , A S I H C RSS

Programming Pearls/Column6



1. Perspective on Programming


1.1. A Case Study

  • μ–΄λ–€ ν”„λ‘œκ·Έλž¨μ΄ 1λ…„ κ±Έλ Έμ—ˆλŠ”λ° λ‹¨κ³„λ³„λ‘œ μͺΌκ°œμ„œ νŠœλ‹μ„ ν–ˆλ”λ‹ˆ ν•˜λ£¨λ§Œμ— λ˜λ”λΌν•˜λŠ” λ‚΄μš©μ΄ μ”Œμ–΄μžˆλ‹€.
  • κ·Έ λ‹¨κ³„λΌ μ‚΄νŽ΄λ³΄λ©΄,
    • μ•Œκ³ λ¦¬μ¦˜κ³Ό 자료ꡬ쑰의 ꡐ체 : Sequential ν•œκ²ƒμ„ Binary Tree둜 κ΅μ²΄ν•¨μœΌλ‘œμ¨ O(n*n)이 O(n*lg n)으둜 μ„μ—ˆλ‹€.
    • μ•Œκ³ λ¦¬μ¦˜μ˜ νŠœλ‹
    • 자료ꡬ쑰의 개쑰
    • μ½”λ“œ νŠœλ‹
      • μ‹œμŠ€ν…œ 독립적인 μ½”λ“œ νŠœλ‹ : doubleν˜•λ³΄λ‹€ μ‹œκ°„μ΄ 절반 정도 κ±Έλ¦¬λŠ” floatλΌ μΌλ‹€.
      • μ‹œμŠ€ν…œ 의쑴적인 μ½”λ“œ νŠœλ‹ : ν¬λ¦¬ν‹°μ»¬ν•œ 뢀뢄을 μ–΄μ…ˆλΈ”λ¦¬λ‘œ λ‹€μ‹œ μ§°λ‹€.
    • ν•˜λ“œμ›¨μ–΄ μ—…κΈ€ : λΆ€λ™μ†Œμˆ«μ  μ—°μ‚° κ°€μ†κΈ°λΌ μ‚¬μš©
  • 이 각각의 λ‹¨κ³„μ—μ„œ 빨라진 λ§ŒνΌμ„ λ‹€ κ³±ν•˜λ‹ˆ λŒ€λž΅ 400이 λ‚˜μ˜€λ”λΌν•˜λŠ” λ‚΄μš©μ΄ μ”Œμ–΄μžˆλ‹€.

1.2. Design Level

  • λ””μžμΈ λ ˆλ²¨μ— κ΄€ν•œ κ°€μ΄λ“œ
    • 문제 μ •μ˜
    • μ‹œμŠ€ν…œ ꡬ쑰
    • μ•Œκ³ λ¦¬μ¦˜κ³Ό 자료ꡬ쑰
    • μ½”λ“œ νŠœλ‹
    • μ‹œμŠ€ν…œ μ†Œν”„νŠΈμ›¨μ–΄
    • ν•˜λ“œμ›¨μ–΄

1.3. Principles

  • μ‹¬ν”Œν•œ λ””μžμΈμ˜ μ€‘μš”μ„±μ€ 아무리 강쑰해도 μ§€λ‚˜μΉ˜μ§€ μ•Šλ‹€.
  • 적은 μ–‘μ˜ μŠ€ν”Όλ“œμ—…μ„ μ›ν•œλ‹€λ©΄ κ°€μž₯ 고치기 μ‰¬μš΄ λΆ€λΆ„λ§Œμ„ 고치자.
  • λ§Žμ€ μ–‘μ˜ μŠ€ν”Όλ“œμ—…μ„ μ›ν•œλ‹€λ©΄ λ‹€λ‹¨κ³„λΌ κ³ μΉ˜μž. ν•œκ΅°λ°λΌ κ³ μΉ¨μœΌλ‘œμ¨ λ‹€λ₯Έ 뢀뢄도 고칠것이 생긴닀.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:24:03
Processing time 0.0320 sec