Re: Частичный лексикографический поиск
От: Кодт Россия  
Дата: 19.03.13 20:09
Оценка:
Здравствуйте, nen777w, Вы писали:

N>Что есть из готового ((возможно из boost) функторов) для частичного лексикографического поиска в ассоциативных контейнерах хранящих строки?


Что такое "частичный лексикографический поиск"?
"Лексикографический" предполагает упорядоченность — ну так ассоциативный контейнер (std::set?) и без того упорядочен.

Вопрос в том, чтобы сделать поиск более эффективно, чем линейно пробежаться и проверить каждый элемент на совпадение с маской?
Вынужден огорчить: в общем случае углы срезать не получится.
Всё, что мы можем сделать — это взять префикс из маски (скажем, для "abc*def*ghi" — префикс будет "abc") и ограничить область забега диапазоном ["abc"-"abd")

Или вопрос в том, что маска известна заранее, и хочется построить контейнер, который
— отделяет подходящие строки от неподходящих (ну это банально: делаем два контейнера, проверяем каждую свежедобавляемую строку и кладём её в соответствующий)
— упорядочивает слова по маске (т.е. для *a* слова bAr и cAs считаются эквивалентными)
?
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.