Хороший алгоритм, подобный Levenshtein, но взвешенный для QWERTY-клавиатур?

С помощью Java 8 вы можете использовать новый removeIf метод . Применимо к вашему примеру:

Collection coll = new ArrayList();
//populate

coll.removeIf(i -> i.intValue() == 5);

20
задан username 11 August 2013 в 10:49
поделиться

1 ответ

В биоинформатике при выравнивании двух последовательностей DNA, у Вас могла бы быть модель, которая имеет другую стоимость на основе того, если замена является переходом или трансверсией. Это точно, что Вы хотите, но вместо 4x4 матрица, Вы хотите 40x40 матрица или некоторые, смеете, я говорю функцию расстояния? Таким образом, стоимость замены от матрицы/функции, не константы.

ПРОТЕСТ: убедитесь, что удаления и вставки взвешиваются правильно, хотя, таким образом, они не по принятому как минимум. Вы закончите со строкой insertions/deletions/no-change-substitution символов.

новая функция, которую Вы пытаетесь минимизировать, была бы:

d[i, j] := minimum(
    d[i-1, j] + del_cost,
    d[i, j-1] + ins_cost,
    d[i-1, j-1] + keyboard_distance( s[i], t[j] )
)
17
ответ дан 30 November 2019 в 01:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: