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


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

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

Ниже представлена функция,  которая выполняет поиск в  символьном
массиве заданной длины элемента с заданным значением ключа:
     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 элементов.  Если информация
размещается на диске,  то поиск может быть очень долгим.  Однако,
если данные не отсортированы,  то последовательный поиск является
единственным возможным в данном случае методом поиска.


 
« Предыдущая статья