RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Ответить на сообщение
Имя:
e-mail:
FIDO:
Home page:
сохранить данные о вас
Тема:
> Что-то вы со Сталкером слишком долго выбираете... Вот пример задачи: > > дано 2M (1M=1048576) строк длиной, скажем, по 61 символу из (char) (rnd24bit() & 0077 | 0100); (генератор rnd24bit - любой нормальный) в 128-Mb файле. Получить такой же, но где все строчки по алфавиту. > > Например, некая реализация на сях: > > Celeron @ 413 + где-то 4 Mb (по SysBar'у) + DMA33 + HPFS386/10Mb + код, оптимизированный под 486 и другой входной файл = 7-8 минут. > > /* Как видим, использованный размер памяти много меньше размера файла */ > > Тот же код, но немного подстроенный под задачу и с бОльшим размером используемого ОЗУ: > > 8 Mb + тот же кеш = 4 минуты 30 секунд > 12 Mb + тот же кеш = 4 минуты > > > > Вывести строку m; m+1; m+2;...;m+n; > > > > m - yeto chto? > > Номер строки. Кажется, просят вывести те строки, которые после упорядочивания были бы с m по m+n-1, с сохранением отсортированного порядка. И это может оказаться быстрее, чем просто всё отсортировать.
__, _,_ __, _,_ _,
|_) | | | \ | / /_\
| \ | | |_/ |/ | |
~ ~ `~' ~ ~ ~ ~
Programmed by
Dmitri Maximovich
,
Dmitry I. Platonoff
,
Eugen Kuleshov
.
25.09.99 (c) 1999,
RU/2
. All rights reserved.
Rewritten by
Dmitry Ban
. All rights ignored.