Киберфак – бесплатно скачать презентации PowerPoint, лекции, рефераты, шпоры, курсовые cyberfac logo
cyberfac.ru
На главную | Регистрация | Вход
  Статьи  
Главная » Статьи » Информатика » Алгоритмизация и программирование

Линейный поиск с использованием барьера

Полезная статья? Пожалуйста, поставьте "+"
Алгоритмизация и программирование - Содержание
Недостатком нашей программы является то, что в заголовке цикла записано сложное условие, которое проверяется перед каждым увеличением индекса, что замедляет поиск. Чтобы ускорить его, необходимо максимально упростить логическое выражение.
Постараемся оставить в заголовке цикла лишь простое условие а [ i ]x. Для этого используем следующий прием. В массив на ( n + 1 ) - e место запишем ископаемый элемент x, который назовем барьерным. Тогда если в процессе работы программы обнаружится такой индекс i, что а [ i ] = x, то элемент будет найден, а если условие  a[i] = x выполнится только при i = n + 1, то, значит, интересующего нас элемента в массиве нет. Таким образом, эта часть программы будет выглядеть так: 
a [ n + 1 ]: = x; i: = 1;
While  a [ i ]x  Do  Inc ( i );
При таком способе поиска в случае наличия в массиве нескольких элементов, удовлетворяющих заданному свойству, также будет найден элемент с наименьшим индексом.

Программа линейного поиска с использованием барьера:

program n7;
const n=5;
var a:array[1..n+1] of integer;
{ массив из n элементов целого типа }
x:integer; { искомый элемент целого типа }
i,k:integer;
begin
writeln('Введите исходный массив:');
for i:=1 to n+1 do read(a[i]);
writeln('Введите x');
readln(x);
a[n+1]:=x; i:=1;
while (a[i]x) do begin
inc(i);
if a[i]=x then k:=i;
end;
writeln('a[',k,']=',x,'=x');
end.
Категория: Алгоритмизация и программирование | Добавил: Ni-Cd (10 Декабря 2011)
Просмотров: 1407 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
  Полезные материалы  

В нашем каталоге файлов можно найти много полезной информации. Также советуем заглянуть в каталог статей: в нем есть полезные статьи по темам: Экономика предприятия, Общая экономика, Финансы и Кредит, также Словарь терминов по экономике, Маркетинг, Бухучет и Мировая экономика
Также есть полезная страница Факультеты МИФИ, которая расскажет о том, какие есть в МИФИ факультеты.
Меню
 

Навигация
Высокоуровневые методы информатики и программирования [28]
Информатика и программирование [34]
Информационные системы в экономике [36]
Языки программирования и методы трансляции [15]
Алгоритмизация и программирование [61]
 

Поиск
 

Онлайн
Онлайн всего: 1
Гостей: 1
Пользователей: 0
 

Статистика


Рейтинг@Mail.ru

 


2007 - 2018 © Ni-Cd. All Rights Reserved