Энциклопедия Turbo Pascal. Главы 1-4 - Последовательный поиск

ОГЛАВЛЕНИЕ

Последовательный поиск

Алгоритм последовательного поиска имеет очень простой вид.

Ниже представлена функция,  которая выполняет поиск в символьном массиве заданной длины элемента с заданным значением ключа:

     function SeqSearch(item: DataArray; count:integer;
                              key:DataItem):integer;
     var
       t:integer;
     begin
       t:=1;
       while (key<>item[t]) and (t<=count) t:=t+1;
       if t>count then SeqSearch:=0
       else SeqSearch:=t;
     end; { конец последовательного поиска }

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

При прямом последовательном поиске в среднем проверяются n/2 элементов. В лучшем случае будет проверяться только один элемент, а в худшем случае будут проверятся n элементов.  Если информация размещается на диске,  то поиск может быть очень долгим.  Однако, если данные не отсортированы,  то последовательный поиск является единственным возможным в данном случае методом поиска.