Előismeret
A Dynamic Time Warping algoritmus egy távolságot határoz meg két vektor között. Alapvetően itt is feltételezhetjük, hogy a vektorok elemszáma megegyezik, azonban ez nem törvényszerű ezen algoritmusok esetében. Tehát ezzel a módszerrel olyan vektorok távolsága is meghatározható, amelyek komponens-száma különbözik.
A Dynamic Time Warping algoritmus pszeudokódja az alábbi módon adható meg [forrás:Wikipedia]:
int DTWDistance(s: array [1..n], t: array [1..m]) {
DTW := array [0..n, 0..m]
for i := 1 to n
for j := 1 to m
DTW[i, j] := infinity
DTW[0, 0] := 0
for i := 1 to n
for j := 1 to m
cost := d(s[i], t[j])
DTW[i, j] := cost + minimum(DTW[i-1, j ], // insertion
DTW[i , j-1], // deletion
DTW[i-1, j-1]) // match
return DTW[n, m]
}