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

Форма входа

Поиск

Календарь
«  Ноябрь 2017  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
27282930

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


Задача: дан массив 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('Элемент не найден');


Наш опрос
Имеете ли вы доступ к компьютеру и в какой форме?
Всего ответов: 456

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

  • Статистика

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

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