트리 μ•Œκ³ λ¦¬μ¦˜Intermediate

트라이 (접두사 트리)

각 λ…Έλ“œκ°€ 문자λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 효율적인 λ¬Έμžμ—΄ μ €μž₯ 및 검색을 μœ„ν•œ 트리 데이터 κ΅¬μ‘°μž…λ‹ˆλ‹€. λ¬Έμžμ—΄ 길이 m에 λŒ€ν•΄ O(m) μ‚½μž…/검색 연산을 κ°€λŠ₯ν•˜κ²Œ ν•©λ‹ˆλ‹€. μžλ™ μ™„μ„± μ‹œμŠ€ν…œ, λ§žμΆ€λ²• 검사기, IP λΌμš°νŒ…(졜μž₯ 접두사 λ§€μΉ­), 사전 κ΅¬ν˜„μ— ν•„μˆ˜μ μž…λ‹ˆλ‹€. 곡톡 접두사가 μžˆλŠ” 큰 λ¬Έμžμ—΄ 집합에 λ©”λͺ¨λ¦¬ νš¨μœ¨μ μž…λ‹ˆλ‹€.

#tree#string-algorithms#prefix-matching#autocomplete

Complexity Analysis

Time (Average)

O(m)

Expected case performance

Space

O(ALPHABET_SIZE Γ— N Γ— M)

Memory requirements

Time (Best)

O(m)

Best case performance

Time (Worst)

O(m)

Worst case performance

How it works

  • β€’ Each character is a node in the tree
  • β€’ Words share common prefixes
  • β€’ End-of-word markers for complete words
  • β€’ O(m) insert and search time
  • β€’ Perfect for autocomplete systems
Step: 1 / 0
500ms
SlowFast
Keyboard Shortcuts
Space Play/Pause← β†’ StepR Reset1-4 Speed

Real-time Statistics

Algorithm Performance Metrics

Progress0%
Comparisons
0
Swaps
0
Array Accesses
0
Steps
1/ 0

Algorithm Visualization

Step 1 of 0

Initialize array to begin

Default
Comparing
Swapped
Sorted

Code Execution

Currently executing
Previously executed

Implementation

Trie (Prefix Tree) - Algorithm Vision