Trie

Trie λŠ” λ¬Έμžμ—΄μ„ μ €μž₯ν•˜κ³  효율적으둜 νƒμƒ‰ν•˜κΈ° μœ„ν•œ 트리 ν˜•νƒœμ˜ μžλ£Œκ΅¬μ‘°μ΄λ‹€.

  • Trie λŠ” 루트 λ…Έλ“œμ—μ„œλΆ€ν„° μžμ‹ λ…Έλ“œλ‘œ λ‚΄λ €κ°€λ©΄μ„œ λ¬Έμžμ—΄μ΄ μ €μž₯λœλ‹€.

  • Trie λ₯Ό μ΄μš©ν•˜μ—¬ λ¬Έμžμ—΄μ„ λΉ λ₯΄κ²Œ 탐색할 수 μžˆλ‹€.

    • λͺ¨λ“  λ¬Έμžμ—΄μ„ λΉ„κ΅ν•˜λŠ” 것이 μ•„λ‹ˆλΌ, 탐색할 λ¬Έμžμ—΄μ„ ν•œ λ¬Έμžμ”© 루트 λ…Έλ“œλΆ€ν„° λ‚΄λ €κ°€λ©΄μ„œ νƒμƒ‰ν•œλ‹€.

    • μ €μž₯ κ³΅κ°„μ˜ 크기가 μ»€μ§„λ‹€λŠ” 단점이 μžˆλ‹€.

  • 접두사가 같은 λ¬Έμžμ—΄μ€ 같은 λ…Έλ“œλ₯Ό κ³΅μœ ν•œλ‹€.

  • λ‹¨μ–΄μ˜ 끝을 λ‚˜νƒ€λ‚΄λŠ” λ³€μˆ˜λ₯Ό μ΄μš©ν•˜μ—¬ ꡬ뢄할 수 μžˆλ‹€.

μ‚½μž…

  • 루트 λ…Έλ“œλΆ€ν„° μ‚½μž…ν•  λ¬Έμžμ—΄μ˜ ν•œ λ¬Έμžμ”© νƒμƒ‰ν•˜λ©΄μ„œ λ‚΄λ €κ°„λ‹€. μ‘΄μž¬ν•˜μ§€ μ•ŠμœΌλ©΄, λ…Έλ“œλ₯Ό μΆ”κ°€ν•˜κ³  계속 λ‚΄λ €κ°„λ‹€.

  • λ¬Έμžμ—΄μ˜ λ§ˆμ§€λ§‰ λ¬ΈμžλŠ” λ§ˆμ§€λ§‰ λ…Έλ“œλ₯Ό ν‘œμ‹œν•œλ‹€.

탐색

  • 루트 λ…Έλ“œλΆ€ν„° λ¬Έμžμ—΄μ˜ ν•œ κΈ€μžμ”© νƒμƒ‰ν•œλ‹€.

  • 탐색 κ³Όμ • 쀑 λ…Έλ“œκ°€ μ‘΄μž¬ν•˜μ§€ μ•Šκ±°λ‚˜ λ§ˆμ§€λ§‰ κΈ€μž λ…Έλ“œμ—μ„œ λ§ˆμ§€λ§‰ λ…Έλ“œ ν‘œμ‹œκ°€ μ—†λ‹€λ©΄, μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” λ¬Έμžμ—΄μ΄λ‹€.

μ‚­μ œ

  • λ¬Έμžμ—΄μ˜ λ§ˆμ§€λ§‰ λ…Έλ“œλ‘œ κ°€μ„œ λ§ˆμ§€λ§‰ λ…Έλ“œ ν‘œμ‹œλ₯Ό μ—†μ• μ€€λ‹€.

  • λ§ˆμ§€λ§‰ λ…Έλ“œμ—μ„œλΆ€ν„° μ˜¬λΌκ°€λ©΄μ„œ λ‹€λ₯Έ μžμ‹ λ…Έλ“œκ°€ μ—†λ‹€λ©΄ ν•΄λ‹Ή λ…Έλ“œλ₯Ό μ‚­μ œν•˜λ©΄μ„œ μ˜¬λΌκ°„λ‹€.

Last updated