動的蚈画法Intermediate

線集距離レヌベンシュタむン

1぀の文字列を別の文字列に倉換するために必芁な単䞀文字線集挿入、削陀、眮換の最小数を蚈算する動的蚈画法アルゎリズムです。スペルチェック、DNA配列アラむメント、自然蚀語凊理の基瀎です。

#dynamic-programming#strings#levenshtein#spell-check

Complexity Analysis

Time (Average)

O(m × n)

Expected case performance

Space

O(m × n)

Memory requirements

Time (Best)

O(m × n)

Best case performance

Time (Worst)

O(m × n)

Worst case performance

📚 CLRS Reference

Introduction to Algorithms•Chapter 15•Section 15.4

How it works

  • • Minimum edits to transform string1 to string2
  • • Operations: insert, delete, replace
  • • Dynamic programming approach
  • • O(m × n) time and space complexity
  • • Also known as Levenshtein distance
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

Edit Distance (Levenshtein) - Algorithm Vision | Algorithm Vision