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

Содержимое удалено Содержимое добавлено
→‎C++: Имя типа изменено под Google C++ Style Guide
Нет описания правки
Строка 819:
}
</source>
== [[w:1С|1С] ==
 
<source lang="go">
Функция ПоискПоЛевевнштейну(Строка1, Строка2) //возвратит число
м = СтрДлина(Строка1);
н = СтрДлина(Строка2);
Если м = 0 Тогда
Возврат н;
КонецЕсли;
Если н = 0 Тогда
Возврат м;
КонецЕсли;
ВрМассив = Новый Массив(м+1, н+1);
Для i = 0 по м Цикл
ВрМассив[i][0] = i;
КонецЦикла;
Для j = 1 по н Цикл
ВрМассив[0][j] = j;
КонецЦикла;
Для i = 1 по м Цикл
Для j = 1 по н Цикл
Кост = ?(Сред(Строка1, i, 1) = Сред(Строка2, j, 1),0 ,1);
above_cell = ВрМассив[i-1][j];
left_cell = ВрМассив[i][j-1];
diagonal_cell = ВрМассив[i-1][j-1];
ВрМассив[i][j] = Мин(Мин(above_cell + 1, left_cell + 1),diagonal_cell + Кост);
КонецЦикла;
КонецЦикла;
Возврат ВрМассив[м][н];
КонецФункции
</source>
== См. также ==
* [[Реализации алгоритмов/Редакционное предписание]]