π― Trie
νΈλΌμ΄(Trie)λ κ²μ νΈλ¦¬μ μΌμ’ μΌλ‘, λ¬Έμμ΄ νμμ μ¬μ©λλ μλ£ κ΅¬μ‘°μ λλ€. νΈλΌμ΄λ λ¬Έμμ΄μ μ΄μ§ κ²μ νΈλ¦¬(Binary Search Tree)μ²λΌ μ μ₯νμ§ μκ³ , κ° λ Έλμ λ¬Έμμ΄μ ννν©λλ€. μ΄λ¬ν λ°©μμΌλ‘ νΈλΌμ΄λ λ¬Έμμ΄ κ²μ λ° μ½μ μμ λμ μ±λ₯μ 보μ΄λ©°, νΉν λ¬Έμμ΄ κ²μμ λν΄ O(m)μ μκ° λ³΅μ‘λλ₯Ό κ°μ§λλ€. (mμ κ²μνλ λ¬Έμμ΄μ κΈΈμ΄μ λλ€.)
Trieμ ꡬ쑰
βοΈ {"A", "to", "tea", "ted", "ten", "i", "in", "inn"}
μ νΈλΌμ΄λ‘ ꡬν
νΈλΌμ΄λ λ¬Έμμ΄μ νμνκΈ° μν μλ£κ΅¬μ‘°μ΄λ―λ‘ λ¬Έμμ΄ νμμ μν΄μλ λ€μ κΈμμ ν΄λΉνλ λ Έλλ₯Ό νκ³ λ°λΌκ°λ©΄ λλ€.
λ νΈλΌμ΄μ μ€μν μμ± μ€ νλλ 루νΈμμλΆν° λ΄λ €κ°λ κ²½λ‘μμ λ§λλ κΈμλ€μ λͺ¨μΌλ©΄, μ°Ύκ³ μ νλ λ¬Έμμ΄μ μ λμ¬λ₯Ό μ»μ μ μλ€.
μλ₯Ό λ€μ΄μ "tea"λ₯Ό μ°Ύλλ€κ³ ν΄λ³΄μ.
t -> te -> teaμ μμλ‘ νμλλ―λ‘ "tea"μ λͺ¨λ μ λμ¬λ€μ΄ λ€ κ΅¬ν΄μ§κ² λλ€.
Trie μ₯λ¨μ
βοΈ Trie μ₯μ
- κ²μμ λμ μ±λ₯μ 보μ λλ€. λ¬Έμμ΄μ κΈΈμ΄μ μκ΄μμ΄ μΌμ ν κ²μ μκ°μ 보μ₯ν©λλ€.
- κ²μμ΄ μλμμ±, μ² μ κ΅μ , ν μ€νΈ μμΆ λ±μμ νμ©ν μ μμ΅λλ€.
- λ¬Έμμ΄μ κ²μνλλ° μμ΄μ μ νν κ²μ κ²°κ³Όλ₯Ό 보μ₯ν©λλ€. λ€λ₯Έ μλ£κ΅¬μ‘°μ λ¬λ¦¬ μ 체 λ¬Έμμ΄μ μ μ₯νκΈ° λλ¬Έμ λλ€.
ποΈ Trie λ¨μ
- μ μ₯곡κ°μ΄ ν½λλ€. νΈλΌμ΄λ λͺ¨λ λ¬Έμμ΄μ μ μ₯νκΈ° λλ¬Έμ, μ μ₯곡κ°μ΄ λΆνμνκ² λλΉλ μ μμ΅λλ€.
- νΈλΌμ΄λ₯Ό ꡬννκΈ° μν μ½λκ° λ€μ 볡μ‘ν©λλ€. λ°λΌμ κ°λ° μκ°μ΄ λμ΄λ μ μμ΅λλ€.
- λ¬Έμ μ§ν©μ΄ ν¬κ±°λ λ¬Έμμ΄ κΈΈμ΄κ° κΈΈ κ²½μ°, νΈλΌμ΄μ κΉμ΄κ° λ무 κΉμ΄μ Έ κ²μ μκ°μ΄ κΈΈμ΄μ§ μ μμ΅λλ€.
νΈλΌμ΄λ κ²μ μκ°μ μ€μ΄λλ° μμ΄μ λ§€μ° ν¨μ¨μ μΈ μλ£κ΅¬μ‘°μ λλ€. κ·Έλ¬λ μ μ₯곡κ°μ λΉν¨μ¨μ±κ³Ό ꡬνμ 볡μ‘μ± λλ¬Έμ, μν©μ λ°λΌμ μ μ ν μλ£κ΅¬μ‘°λ₯Ό μ ννλ κ²μ΄ μ€μν©λλ€.
'μλ£κ΅¬μ‘°' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[μλ£κ΅¬μ‘°] Hash (0) | 2023.03.27 |
---|---|
[μλ£κ΅¬μ‘°] Heap (0) | 2023.03.27 |
[μλ£κ΅¬μ‘°] LinkedList (0) | 2023.03.26 |
[μλ£κ΅¬μ‘°] Tree (0) | 2023.03.26 |
[μλ£κ΅¬μ‘°] Stack & Queue (0) | 2023.03.26 |