6.2. Упорядоченные файлы Один из простейших методов
индексации - хранение информации в файлах в упорядоченном виде по
индексируемому полю. f - файл, n - число записей в нем, d - длина записи a:=1; b:=n; while (b-a)>=0 do begin c:=(a+b) div 2; //вычисляем номер средней записи k:=(c - 1)*d; //вычисляем смещение «средней записи» seek(f, k); //установка текущей позиции на смещение read(f, r); if г.^о='Одинцова' then begin return(OK); //задача решена break end; if ^^о^Одинцова' then b:=c-1 else a:=c+1; // область поиска end;
Примечание.
Если возможен прямой доступ, то T~logn (точнее log2 n). Возможность
прямого доступа - организуется путем буферизации таблицы во
внутренней памяти. |