ν΄λΉ μ리μ¦λ μ κ° μ± (μ½κ² λ°°μ°λ μλ£κ΅¬μ‘° with μλ°)μ μ½κ³ ν΄λΉ λ΄μ©μ μ 리νκΈ° μνμ¬ μμ±λμμ΅λλ€.
μ΄λ ΅λ€κ³ λκ»΄μ§λ μλ£κ΅¬μ‘°λ₯Ό μ΅λν μ½κ² μ€λͺ νκ³ μ νμ΄μ°λ μ μ°Έμ‘°ν΄μ£Όμκ³ ,
κ°μ΄ μλ£κ΅¬μ‘°/μκ³ λ¦¬μ¦μ λν΄ κ³΅λΆνλ μκ°μ΄ λμμΌλ©΄ μ’κ² μ΅λλ€. κ°μ¬ν©λλ€.
μλ£κ΅¬μ‘°?
λ°μ΄ν°λ₯Ό μ μ₯, μ‘°μ§, κ΄λ¦¬νλ λ°©λ²
μμ μ΄λ λμκ΄μ κ°λ©΄ μ΄λ»κ² λ΄κ° μνλ μ± μ λ°λ‘ μ°Ύμ μ μμκΉμ?
μ± μ΄ 10κΆ μ΄λ΄λΌλ©΄ μ무 κΈ°μ€μμ΄ μμλ¬λ λ΄κ° μνλ μ± μ μ½κ² μ°Ύμ μ μμ κ²μ λλ€.
νλ μ± μ΄ 100κΆ, 1000κΆ, 1λ§κΆμ΄ λμ΄κ°λ€λ©΄? μ΄λλΆν°λ μ’ λ₯λ³λ‘ λΆλ₯κ° νμν©λλ€.
μ΄μ²λΌ μ± (μλ£)μ ν¨μ¨μ μΌλ‘ κ΄λ¦¬νλ λ°©λ²μ 'μλ£κ΅¬μ‘°'λΌκ³ ν©λλ€.
μ΄λ¬ν μλ£κ΅¬μ‘°λ μΌμμνμμ μ½κ² μ°Ύμλ³Ό μ μμ΅λλ€.
λ¬Έμ ν΄κ²°μ μ¬μ©ν λΆν
κ·ΈλΌ μκ³ λ¦¬μ¦μ 무μμΌκΉμ?
μ΄λ ν λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν μΌλ ¨μ μμλ₯Ό λ§λ€μ΄λ΄λ κ³Όμ μ κΈ°μ ν κ²μ μκ³ λ¦¬μ¦μ΄λΌ ν©λλ€.
μ΄ λ μλ£κ΅¬μ‘°λ μκ³ λ¦¬μ¦μ μνν μ μκ² λμμ£Όλ 'λΆν' μν μ ν©λλ€.
μλ₯Ό λ€μ΄, κ±΄μΆ μ¬λ£μ ꡬ쑰물μ λν΄ λͺ°λΌλ μ§μ μ§μ μ μμ§λ§ ν¨μ¨μ μ΄κ³ νΌνΌν μ§μ μ§κΈ°λ μ΄λ ΅μ΅λλ€.
μ½ν¬λ¦¬νΈλ μ² κ³¨μ΄λΌλ μ¬λ£λ₯Ό λͺ°λΌ λκ³Ό μ§μ μ΄μ©ν΄ μ§μ μ§λ κ²μ²λΌ λ§μ΄μ£ .
λκ³Ό μ§μ μ΄μ©ν΄ λ§λ μ§λ μ§μ΄κΈ΄ νμ§λ§..
νλμλ λκ³Ό μ§λ³΄λ€ ν¨μ¬ μ’μ μ¬λ£λ€μ΄ λ§μ΅λλ€.
μ΄μ²λΌ μκ³ λ¦¬μ¦μ΄ 볡μ‘ν μλ‘ μλ£κ΅¬μ‘°λ₯Ό μ¬μ©ν κ²°κ³Όλ¬Όμ κ°νΈνκ³ μ μ§λ³΄μνκΈ°λ μ¬μμ§λλ€.
μλ£κ΅¬μ‘°μ μ’ λ₯μ μλ°μ 컬λ μ ν¨ν€μ§
μλ£κ΅¬μ‘°λ λ°μ΄ν°λ₯Ό μ μ₯νκ³ μ‘°μνκΈ° μν λ€μν λ°©λ²μ μ 곡ν©λλ€. μλ°μμλ λ°°μ΄, 리μ€νΈ, νλ ¬, μ€ν, ν, κ·Έλν, νΈλ¦¬, μ΅λ ν λ±μ μλ£κ΅¬μ‘°λ₯Ό κΈ°λ³Έμ μΌλ‘ μ 곡ν©λλ€. νμ§λ§ λͺ¨λ μν©μ μ΅μ νλ μλ£κ΅¬μ‘°κ° νμ μλ κ²μ μλλ―λ‘, νμμ λ°λΌ μ§μ μλ£κ΅¬μ‘°λ₯Ό λ§λ€μ΄ μ¬μ©ν μλ μμ΅λλ€. μ΄λ₯Ό μν΄μλ μλ£κ΅¬μ‘°μ λ΄λΆ μλ μ리λ₯Ό μ μ΄ν΄ν΄μΌ ν©λλ€.
- 리μ€νΈ, μ€ν ν: λ°μ΄ν°κ° ν μ€λ‘ λ°°μΉλλ μ ν μλ£κ΅¬μ‘°
- κ²μ νΈλ¦¬, ν΄μ ν μ΄λΈ : λ°μ΄ν°λ₯Ό ν¨μ¨μ μΌλ‘ μ°ΎκΈ° μν ꡬ쑰, μ¦ μμΈμ μν μλ£κ΅¬μ‘°
- ν : μ°μ μμλ₯Ό λ€λ£¨λ μλ£κ΅¬μ‘°
- κ·Έλν : κ°μ²΄λ λμλ€μ κ΄κ³λ₯Ό νννλ μλ£κ΅¬μ‘°
μλ£κ΅¬μ‘°μ μΆμ λ°μ΄ν° νμ
μΆμ
'μΆμ'μ κ΄ν΄μλ μ λΈλ‘κ·Έμμ κ°μ²΄μ§ν₯μ 4λ νΉμ±μ λ€λ£° λ μμΈν μΈκΈνμλλ°μ.
μλ£κ΅¬μ‘°μμλ 'μΆμ'μ΄λ κ°λ μ κ΅μ₯ν μ€μν©λλ€! μ΄λ―Έ μ μκ³ κ³μκ² μ§λ§ ν λ² λ μ§κ³ λμ΄κ°λλ‘ νκ² μ΅λλ€.
μμ κ³(λ―Έμ , μμ )μμ μΆμμ΄ μλ―Ένλ λ°λ "μ¬λ¬Όμ μ¬μ€μ μ¬ν, νΉμ ν μ΄λ―Έμ§ νΉμ μμ§μ μλ―Έλ₯Ό νμΆνλ κ²μ΄ μλ μμν μμ μ±μ μΆκ΅¬νλ κ²" μ λλ€. μλ£κ΅¬μ‘°μμ λ§νλ 'μΆμ'μ΄λ μλ―Έλ ν¬κ² λ€λ₯΄μ§ μμ΅λλ€.
μ , μ , μ κ°μ κ°μ₯ νλΆ λ¨μμ κ΄μ μ΄ κ³μΈ΅ννλ©΄μ μνμ΄ λ§λ€μ΄μ§λ― νμμ κ°λ λ€μ κ²°ν©νμ¬ μμμ κ°λ μ λ§λ€μ΄λκ°λ λ¨κ³ μ λλ€. νμ¬ νλ‘μ νΈλ λ¬Έμ ν΄κ²° κ³Όμ μμλ μλ―Έ λ¨μλ₯Ό λΆλ¦¬νκ³ κ³μΈ΅ννλ μμ μ΄ λ°λ³΅λ©λλ€.
(κ°μ²΄ μ§ν₯μ ν΄λμ€)
μλ―Έ λ¨μλ λͺ¨λμ΄λΌκ³ λ ν©λλ€. λͺ¨λμ μΆμν νλ€λ κ²μ 'μΈλΆ μ¬νμ μλ΅νκ³ κ°μ₯ μ€μν κΈ°λ₯λ§ λλ¬λ΄λ κ²'μ μλ―Έν©λλ€.
λͺ¨λμ μΆμννλ κ²μ΄ μλ£κ΅¬μ‘°μ ν΅μ¬μ΄λΌκ³ ν μ μμ΅λλ€.
μΆμ μλ£ν: ADT
μΆμ μλ£ν(Abstract Data Type)μ λ°μ΄ν°μ λ
Όλ¦¬μ ꡬ쑰μ μ°μ°μ μ§ν©μ μ μν κ²μ
λλ€. μ¦, μΆμ μλ£νμ λ°μ΄ν°μ κ·Έ λ°μ΄ν°μ λν μ°μ°μ λ¬Άμ΄ λμ κ°λ
μ μΈ νμ΄λΌκ³ λ³Ό μ μμ΅λλ€.
μΆμ μλ£νμ λ°μ΄ν°μ μ°μ°μ ꡬ체μ μΈ κ΅¬ν λ°©λ²μ λν΄μλ κ·μ νμ§ μμ΅λλ€. μ¦, μΆμ μλ£νμ μ¬μ©νλ νλ‘κ·Έλλ¨Έλ λ°μ΄ν°μ μ°μ°μ λν λͺ
μΈλ§μ μκ³ μμΌλ©΄ λ©λλ€. λ°λΌμ μΆμ μλ£νμ λ°μ΄ν°μ νν λ°©λ²κ³Ό κ·Έμ λ°λ₯Έ μ°μ°μ ꡬν λ°©λ²μ κ°μΆμ΄, μ¬μ©μκ° λ³΄λ€ μ½κ² λ°μ΄ν°λ₯Ό λ€λ£° μ μλλ‘ ν΄ μ€λλ€.
μλ₯Ό λ€μ΄, μΆμ μλ£νμΌλ‘ μ€ν(Stack)μ μ μνλ©΄, μ€νμ μ°μ°μλ push(λ°μ΄ν° μΆκ°), pop(λ°μ΄ν° μμ ), top(μ€νμ 맨 μμ μλ λ°μ΄ν° μ‘°ν) λ±μ΄ μμ΅λλ€. μ΄ μ°μ°μ μ¬μ©νλ©΄ λ°μ΄ν°λ₯Ό μ½μ
, μμ , μ‘°νν μ μμΌλ©°, μ΄ μ°μ°λ€μ΄ μ΄λ»κ² ꡬνλμλμ§λ μ¬μ©μκ° μ νμκ° μμ΅λλ€.
λ°λΌμ, μΆμ μλ£νμ λ°μ΄ν° ꡬ쑰λ₯Ό μΆμννκ³ , ꡬν μΈλΆ μ¬νμ μ¨κΈ°λ κΈ°μ λ‘, νλ‘κ·Έλλ¨Έμκ² μ½λμ μ¬μ¬μ©μ±, μ μ§λ³΄μμ±, κ·Έλ¦¬κ³ μ½λμ κ°λ
μ±μ ν₯μμν€λ λ° λμμ μ€λλ€.
μλ°μμλ μΆμ μλ£νμ λνλ΄κΈ° μν΄ μΈν°νμ΄μ€(interface)λ₯Ό μ¬μ©ν©λλ€.
'π Study > μλ£κ΅¬μ‘°' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[μλ£κ΅¬μ‘°/μκ³ λ¦¬μ¦] Chapter 02. μ¬κ·(μκΈ°νΈμΆ)ν¨μ - (1) ν©ν 리μΌ, νΌλ³΄λμΉ μμ΄ (0) | 2023.03.18 |
---|