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

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

Сообщение Anonymous »

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

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

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

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

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

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

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

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

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

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