Поиск самого длинного словаря. Ключевое совпадение во фразеC#

Место общения программистов C#
Ответить
Anonymous
 Поиск самого длинного словаря. Ключевое совпадение во фразе

Сообщение Anonymous »

У меня есть SortedDictionary, упорядоченный по убыванию длины ключа, следующего вида:
  • рыжая лиса - адрес1
  • ласка - адрес2
  • лисицы - адрес3
  • лисица - адрес3
    и т. д.

    и список фраз, например

    "сегодня рыжая лиса дома"

    "лис сегодня нет"

    и т. д.
Мне нужно найти значение самого длинного ключа в словаре, который соответствует подстроке в заданной фразе.
Учитывая, что в словаре около тысячи статей, есть ли лучший подход, чем поиск методом перебора?
Приведенные выше примеры должны возвращать:

"рыжая лиса" - адрес1

"лисы" - адрес3

У меня есть решение методом перебора ключей, но ввиду количества ключей и необходимости выполнять поиск в десятках фраз, я ищу более умный подход.

Подробнее здесь: https://stackoverflow.com/questions/787 ... n-a-phrase
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»