[TIL] μλ£κ΅¬μ‘°(data structure)
μλ£κ΅¬μ‘° λ?
λλ λ°μ΄ν°λ₯Ό ν¨μ¨μ μΌλ‘ κ΄λ¦¬νλ ꡬ쑰μ λλ€.
μλ£κ΅¬μ‘°λ₯Ό μ 곡λΆν΄μΌ ν κΉ?
μ€νμλλ₯Ό κ²°μ νλ κ²μ λμ²΄λ‘ λ©λͺ¨λ¦¬(RAM)μ΄κ³ , λ©λͺ¨λ¦¬(RAM)μ μ©λμ μ μ½ν΄μ£Όκ³ , μ€νμκ°μ λ¨μΆμμΌ ν¨μ¨μ μΈ μ¬μ©μ μν΄ νμν©λλ€.
μλ£κ΅¬μ‘° μ’ λ₯
- λ°°μ΄(Array)
- λ°μ΄ν°λ₯Ό λΉνμμ΄ λμ΄ν μλ£κ΅¬μ‘°μ λλ€.
- 리μ€νΈ(List)
- λ°μ΄ν°λ₯Ό μμλλ‘ λμ΄ν μλ£κ΅¬μ‘°μ λλ€.
- λ°°μ΄κ³Ό μ°¨μ΄μ μ λ°μ΄ν°λ€μ νμ΄νλ‘ μλ‘ μ°κ²°λμ΄ μμ΄ λ°μ΄ν°λ€μ΄ λ¨μ΄μ§ μ₯μμ μμΉν΄λ μκ΄μμ΅λλ€.
- μ€ν(Stack)
- μ± μ μμ μ± μ μλ― λ°μ΄ν°λ₯Ό κ΄λ¦¬νλ μλ£κ΅¬μ‘°μ λλ€.
- λ°μ΄ν°λ₯Ό λ£λ μμμ λ°λμ μμλ‘ λ°μ΄ν°λ₯Ό κΊΌλ΄λ λ°μ΄ν° κ΄λ¦¬ λ°©λ²μ λλ€.
- ν or λκΈ° νλ ¬(Queue)
- μ€μ μ μλλΆν° μ°¨λ‘λ‘ κ³μ°νλ― λ°μ΄ν°λ₯Ό λ£μ μμλλ‘ λ°μ΄ν°λ₯Ό κΊΌλ΄λ λ°μ΄ν° κ΄λ¦¬ λ°©λ²μ λλ€.
- νΈλ¦¬ or λ무 ꡬ쑰(Tree)
- λ무κ°μ§κ° 2κ°, 3κ°λ‘ κ°λΌμ§λ― λλλ― νΌμ Έ λκ°λ μλ£κ΅¬μ‘°μ λλ€.
λ°°μ΄
μ€ν(Stack)
μ€νμ΄λΌλ λ¨μ΄λ βμλ€βλΌλ λ»μ΄ μμ΅λλ€.
μ€νμ μ± μμ μ± μ μλ― λ°μ΄ν°λ₯Ό μμ κ΄λ¦¬νλ λ°©λ²μ λλ€.
- λ°μ΄ν°λ₯Ό λ£λ(μλ) μμ μ νΈμ(PUSH)
- λ°μ΄ν°λ₯Ό κΊΌλ΄λ μμ μ ν(POP)
μ€νμ λ§μ§λ§μ μ λ ₯λ λ°μ΄ν°κ° λ¨Όμ μΆλ ₯λλ νΉμ§μ λ°©μμΌλ‘ LIFO(Last In, First Out) or FILO(First In, Last Out)λΌκ³ λΆλ¦ λλ€.
ν or λκΈ° νλ ¬(Queue)
ν or λκΈ° νλ ¬μ μ€μ μ μλλΆν° κ³μ°νλ― λ°μ΄ν°λ₯Ό μ
λ¨Όμ μ λ ₯ν λ°μ΄ν°κ° λ¨Όμ μΆλ ₯λλ νΉμ§μ κ°μ§ μλ£κ΅¬μ‘°μ λλ€.