Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Инкрементный поиск по всей строке




Инкрементный поиск по началу строки

Давайте рассмотрим разновидность инкрементного поиска - поиск по началу строки, который позволяет производить быстрое позиционирование в массиве данных. Предположим, что у нас есть список из 1000 наименований, упорядоченных по алфавиту, и нужно перейти к записям, начинающиеся с буквы "т". В случае инкрементного поиска для этого достаточно один раз нажать клавишу "т". То есть, инкрементный поиск по началу строки позволяет быстро перейти к записи, начало которой полностью или "частично соответствует" введенной к тому моменту строке поиска, что невозможно сделать с помощью обычного поиска. Что значит "частично соответствует"? Предположим, у нас есть 3 записи и выбрана первая запись:

Аспиратор
Прибор 1
Прибор 2
Прибор 3

В пустой строке поиска мы вводим букву "П" - произойдет переход ко 2-й записи, поскольку она начинается с буквы "П". Что произойдет, если мы введем букву "р"? Мы останемся на записи 2, поскольку фрагмент "Пр" в строке ввода соответствует началу названия 2-й записи " Пр ибор 1". Что будет, если мы теперь введем букву "а"? С фрагмента "Пра" не начинается ни одна запись в нашем примере. Вот здесь все будет зависеть от реализации. В 1С, например, раздается звуковой сигнал и пользователь не сможет ввести символ. А в Google можно спокойно продолжать ввод.

Инкрементный поиск по началу строки особенно эффективен в том случае, когда товар упорядочен по товарным группам, т.е. его название начинается с названия товарной группы, например, "прибор", "модель", "плакат", "карта". Это очень удобно в том случае, когда необходимо произвести поиск нескольких товаров из одной товарной группы, например, "приборы".

Инкрементный поиск по началу строки имеет большое ограничение - возможность быстрого позиционирования только по первым символам в строках записей. Для устранения данного ограничения необходимо совместить идею инкрементного поиска с возможностями произвольного поиска с запросом, в результате чего пользователь сможет производить инкрементный поиск независимо от количества и расположения фрагментов в строке запроса! В результате мы получаем один из самых эффективных механизмов последовательного поиска!

Вы заметили, что до сих пор мы рассматривали поиск с точки зрения Windows-программирования и говорили о пользователях? Это позволяет абстрагироваться от технологий и ограничений, присущим web-среде, и сосредоточить внимание на рассмотрении эффективных алгоритмов поиска. Если бы мы начали рассматривать данные вопросы с точки зрения Web, то вместо решения задачи разработки удобной системы поиска мы завязли в проблемах реализации поиска на сайте, что и демонстрируют многочисленные web-ресурсы, на которых поиск реализован непонятно как. Часто бывает, что найти решение в какой-то области "внутри нее" очень трудно. В таких случаях я рекомендую выйти за ее пределы, и обратиться к областям, которые являются родительскими, и, возможно, в них уже разработаны алгоритмы для решения похожих задач. Поскольку традиционное программирование является родителем web-программирования, то и ответы на проблемы Web нужно искать в программировании, где наработано огромное количество различных алгоритмов. Я бы сказал так, - что для Web является проблемой, то для программирования является лишь задачей, а с задачу, как известно, решить проще, чем пытаться справиться с проблемой.


История

Термин «информационный поиск» был впервые введён Кельвином Муром в 1948 в его докторской диссертации, опубликован и употребляется в литературе с 1950.

Сначала системы автоматизированного ИП, или информационно-поисковые системы (ИПС), использовались лишь для управления информационным взрывом в научной литературе. Многие университеты и публичные библиотеки стали использовать ИПС для обеспечения доступа к книгам, журналам и другим документам. Широкое распространение ИПС получили с появлением сети Интернет. У русскоязычных пользователей наибольшей популярностью пользуются поисковые системы Google, Яндекс и Рамблер.




Поделиться с друзьями:


Дата добавления: 2014-01-14; Просмотров: 700; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.006 сек.