|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Igor S Chencov 2:5020/400 11 Nov 2002 16:13:10 To : Eugene Grosbein Subject : Re: двоичный поиск -------------------------------------------------------------------------------- Eugene Grosbein <Eugene.Grosbein@f1.n5006.z2.fidonet.org> wrote: EG: Привет! EG: Есть довольно большая таблица, доступ к которой через DBI (база Dec RDB). EG: В таблице есть поле с уникальными значениями, но нет индекса по этому полю. EG: По условию задачи индекс создать нельзя. Поле типа char(7). [[skip]] EG: Если использовать select ... limit to 1 rows, время ощутимо сокращается, EG: но все равно полный цикл длится 8 минут, это слишком долго. Клиент в моем EG: случае существенно быстрее сервера, так что может оказаться быстрее EG: выдать select, выбирающий таблицу полностью и, перебирая строки, EG: обрабатывать только нужные. Если исходный список значений отсортировать EG: вначале, то бинарный поиск дал бы время O(n*log(m)), где m - длина списка, EG: m<n, что гораздо лучше. EG: Вопрос: есть ли в perl5.005_03 встроенный бинарный поиск элемента в массиве? EG: Цикл я и сам напишу, а быстрее? Может лучше в hash их затолкать - тогда, наверное, и алгоритьм проще будет и бестрее искаться ... Bye ! -- -= Игорь Ченцов - системный администратор | =- -= E-mail chs<at>aquilon.ru | АКВИЛОH =- -= г. Архангельск | =- --- ifmail v.2.15dev5 * Origin: Internet-Arkhangelsk Company (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/4596eaa98613.html, оценка из 5, голосов 10
|