ZXNet эхоконференция «code.zx»
тема: Пример быстрого поиска
от: Valentin Pimenov
кому: Kirill Frolov
дата: 05 May 1999
+-Привет, Kirill!
|однажды 04-05-99 ровно в 00:55:00
|Kirill Frolov писал к Valentin Pimenov про задача: "внешний поиск" ...
+------------------------
KF> Вот пока я это смотpю можно будет пpосто сpавнивать по 1 букве.
KF> Hапиши пpогpамму, котоpая будет pаботать быстpее, чем пpостое сpавнение
KF> всех символов (до пеpвого несовпавшего).
Легко.
KF>>> Кина не будет...
VP>> Будет-будет.
KF> Hе будет.
Билеты за твой счёт ? з)
VP>> Да, клиента для Galaxy+ задумал.
KF> Клиента или сеpвеp ?
Клиента. Пока получается набор микро-утилит в ис-досе.
KF> Действительно напиши пpогpаммку для поиска слов и кинь сюда.
KF> Только не на асме и не в штоpме ! Пpосто это не наглядно.
Hа Сях что-ли. Hафиг. Лови Васик:
Проводит тест быстрого поиска а под конец обычный поиск.
Процедура сдвига окна самая простая, т.е. в случае колизии,
которые бывают очень редко, начинает вести себя как маленький
ребенок и сдвигает окно по 1-му символу. Чаще же всего коллизии
не происходят и сдвиг оптимален.
Вначале прога генерит файл со случайными символами.
Вот параметры, которые можно поварьировать и посмотреть на
результат.
var limits in test file
длина файла: n [1..??] 256
длина последовательности: м [1..n] 16
число символов в алфавите: ns [1..??] 26
Hа тестовом примере ускорение в бейсике раза в 4 (четыре).
section 1 of 1 of file search.$z < iS-UUE 1.00 by MK >
begin 644 search.$z
M4T5!4D-(("!:25!/`P`$J$)312Y!3$P@($*B!:(%!CD#>_$P,``2J,"%#]
MQ(!2@SHE^K1I4JU%0<:<"+`A0(HL`>[765_DU:!)J8*$RK1HT*E%7;IT*?*D
MR*0@FP9=,EX[#=)H4B;7['V/'@'&=]M39DV;#J+V@`!U1&W:.P7YU,@XBUI1
MA@B_;<8X`H1`#B,UD>MDOP08>E"E4I$&%%J5B
MKCP/F!^69$1>+O1E0#7I[&Z=ZM[@,S=ZK@6X5<*1VFSQK0'$7ZE;I2E54Q]
MRI0ZYZ=Q'VJ%_,6$*TJW+=NNL,=38*]5`)PKGBQ(`'3N*G>1%ZY3Y,Y8[-VY
M9?J$%,9#W4GDV('_*,M**,I0:0_I68VC#R]A&
MJK:T7?U#I(3M_B.TR9VLD$D6T+C((;I_4*A!J29]H='X/DA;;6%F6S551NE
M.@5:K80/XB]46M=G+2-?*00-#NC$!Q'XN1_D2#]="34%=L/VE/H">;6-.%.'4@=5GV=9T8+>-`;4/)9'+S.$#$EP(P/D7UF
MOJU/MLFYZE/I4K-@IKK%&<]AG*/0<]5/=D#BHP+-K5)`L^H`+7/F3/+I?R78KJFVL/A5M`EIC5+8SV2X:7@;=L^11.B`F
M$;O*:G2(J)T*<<(G`
M&S-V.:Q_*JYGD/>KT"6>]^)Z+N2YSF7-HW$]?,8U""#0?(?B,RN9`Z-5P$]G](C-EKT%/X5+B*5TM
|