Пятница, 21.07.2017, 21:48
ОТКРЫТАЯ ИНФОРМАТИКА
Приветствую Вас Гость | RSS
Главная Поиск данных Регистрация Вход
Меню сайта

Форма входа

Поиск

Календарь
«  Июль 2017  »
ПнВтСрЧтПтСбВс
     12
3456789
10111213141516
17181920212223
24252627282930
31

Алгоритм поиска данных


Задача: дан массив A, в котором числа расположены в произвольном порядке. Найти в массиве некоторое число х или сообщить, что такого числа нет.

Линейный поиск.

Решение задачи: осуществление линейного поиска происходит с помощью просмотра каждого элемента массива и сравнения его с данным числом х. Если число х найдено - то метка становится =1. Если нет, то метка остается = 0.

Программа на ЯП Паскаль:

begin

nX:= 0           {метка}

for i:=1 to N do

if A[i]=x then nX:=i;              {поиск элемента в массиве}

if nX>0 then writeln('есть') else writeln('нет')

end;

Двоичный поиск (дихотомия).

Применяется, если элементы массива уже отсортированы.

Заключается в том, что на каждом шаге интервал делится на 2 и сравнивается с Х. Процесс завершается, когда левая и правая границы интервала совпадут

L:= 1; R:= n + 1;
while  (L + 1 < R) do begin

c:= div(L + R, 2)
if (X < A[c]) then  R:= c
else  L:= c;
end;

if (A[L] = X) then
writeln('A[', L, ']=', X);

else
writeln('Элемент не найден');


Наш опрос
Сколько времени вы обычно проводите за комьпютером?
Всего ответов: 950

Друзья сайта
  • Министерство образования РБ
  • Официальный портал подготовки к ГИА и ЕГЭ
  • Всероссийская олимпиада школьников
  • Федеральный портал Российского образования
  • Институт развития образования РБ

  • Статистика

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

    Copyright MyCorp © 2017 Бесплатный конструктор сайтов - uCoz