На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! правила раздела Алгоритмы
1. Помните, что название темы должно хоть как-то отражать ее содержимое (не создавайте темы с заголовком ПОМОГИТЕ, HELP и т.д.). Злоупотребление заглавными буквами в заголовках тем ЗАПРЕЩЕНО.
2. При создании темы постарайтесь, как можно более точно описать проблему, а не ограничиваться общими понятиями и определениями.
3. Приводимые фрагменты исходного кода старайтесь выделять тегами code.../code
4. Помните, чем подробнее Вы опишете свою проблему, тем быстрее получите вразумительный совет
5. Запрещено поднимать неактуальные темы (ПРИМЕР: запрещено отвечать на вопрос из серии "срочно надо", заданный в 2003 году)
6. И не забывайте о кнопочках TRANSLIT и РУССКАЯ КЛАВИАТУРА, если не можете писать в русской раскладке :)
Модераторы: Akina, shadeofgray
  
> Быстрый поиск максимально "похожей" строки , В упорядоченном массиве
    Есть большой упорядоченный массив строк. Двоичным поиском ищу максимальное совпадение.

    Проблема в том, двоичный поиске в результате сходится в центре последовательности "похожих".

    например есть массив

    "rosea"
    "roseb"
    "rosec"
    "rosed"
    "rosee"

    ищем "rose"

    двоичный поиск при сравнении только с первых 4 символов найдет "rosec" - центр последовательности у которой 4 буквы совпадают с искомым.

    Задача насколько я понимаю сводится к быстрому поиску минимума ф-ции разности между искомой и получаемой строкой. Причем разность считается как: (a - образец, b - очередная строка) i=0..Len(a) - 1 r = UM( |a[i]-b[i]| ) + b[Len] (если строка b - длиннее образца)

    Подскажите что придумать поэффективнее, все дело происходит на Palm-е, массив 250 тыс элементов ;-) Сейчас работает быстро, необходима коррекция просто.
    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
    0 пользователей:


    Рейтинг@Mail.ru
    [ Script execution time: 0,0182 ]   [ 15 queries used ]   [ Generated: 10.12.24, 23:31 GMT ]