Реализации алгоритмов/Расстояние Левенштейна: различия между версиями

Содержимое удалено Содержимое добавлено
Улучшение
Строка 96:
== Алгоритм Левенштейна на языке [[JavaScript|JavaScript]] ==
<source lang="javascript">
/**
function levenshtein_orig(s1, s2, cr, ci, cd) {
* @param {string} s1 Исходная строка
* @param {string} s2 Сравниваемая строка
* @param {number} [cr] Вес замены
* @param {number} [ci] Вес вставки
* @param {number} [cd] Вес удаления
* @return {number} Расстояние Левенштейна
*/
function levenshtein_origlevenshtein(s1, s2, cr, ci, cd) {
var i, j, l1, l2, flip, ch, ii, ii2, cutHalf;
l1 = s1.length;
l2 = s2.length;
 
cr = cr || 1;
ci = ci || 1;
cd = cd || 1;
cutHalf = flip = Math.max(l1, l2);
Строка 126 ⟶ 138 :
return buf[l2 + cutHalf - flip];
}
</source>
 
Пример использования:
<source lang="javascript">
var diff = levenshtein('Hello', 'HelA_1');
</source>