Dynamische ProgrammierungIntermediate

Editierdistanz (Levenshtein)

Dynamischer Programmieralgorithmus, der die minimale Anzahl von Einzelzeichen-Bearbeitungen (Einfugungen, Loschungen, Ersetzungen) berechnet, die erforderlich sind, um einen String in einen anderen zu transformieren. Fundamental in Rechtschreibprufung, DNA-Sequenzabgleich und naturlicher Sprachverarbeitung.

#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