動的計画法Intermediate
最長共通部分列(LCS)
2つの列に同じ順序で存在する最長の部分列を見つけます。動的計画法を使用して解テーブルを構築します。DNA配列アライメント、ファイル差分ツール(diff)、盗作検出などの応用があります。
#dynamic-programming#strings#sequences#optimization
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
LCS finds the longest subsequence common to both strings
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