Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

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





Нахождение информации в неотсортированной структуре данных, например в массиве, требует применения последовательного поиска.

Последовательный (или линейный) поиск – наиболее просто реализуемый метод поиска.

Последовательный поиск заключается в последовательном переборе элементов структуры данных (например, массива) от начального элемента до нахождения совпадения или до конца структуры данных. Перебор элементов имеет линейный хпрактер, поэтому такой поиск ещё называют линейным.

Примеры последовательного поиска с циклами for и while.

 

Программа линейного поиска на языке "Паскаль" var nums: array [0..N] of real; function search_s1(item: ^real; n: integer; key: real):integer; var i: integer; begin for i:= 0 to N do if key = item[i] then begin search_s1:= i; break end else search_s1:= -1 end; function search_s2(item: ^real; n: integer; key: real):integer; var i: integer; begin i:=0; search_s2:= -1; while (key <> item[i]) or (i < n) do begin if key = item[i] then search_s2:= i; i:= i + 1 end end;

 

Аналогичные процедуры на языке Си++:
int search_s1(float* item, int n, float key)
{
for (int i = 0; i < N; i++)
if (key == item[i])
return i;
return -1;
}

int search_s2(float* item, int n, float key)
{
int i=0;
while (key!= item[i] || i < n)
{
if (key == item[i])
return i;
i++;
}
return -1;
}

Последовательный поиск в среднем случае выполнит проверку N/2 элементов, в лучшем – 1 элемента, а в худшем – N элементов.

Недостаток этого поиска – медленное выполнение при большом объеме просматриваемого массива.

Но если данные не отсортированы, то должен использоваться только последовательный поиск.







Дата добавления: 2015-09-04; просмотров: 462. Нарушение авторских прав; Мы поможем в написании вашей работы!




Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

Кран машиниста усл. № 394 – назначение и устройство Кран машиниста условный номер 394 предназначен для управления тормозами поезда...

Приложение Г: Особенности заполнение справки формы ву-45   После выполнения полного опробования тормозов, а так же после сокращенного, если предварительно на станции было произведено полное опробование тормозов состава от стационарной установки с автоматической регистрацией параметров или без...

Измерение следующих дефектов: ползун, выщербина, неравномерный прокат, равномерный прокат, кольцевая выработка, откол обода колеса, тонкий гребень, протёртость средней части оси Величину проката определяют с помощью вертикального движка 2 сухаря 3 шаблона 1 по кругу катания...

Типовые примеры и методы их решения. Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно. Какова должна быть годовая номинальная процентная ставка...

Выработка навыка зеркального письма (динамический стереотип) Цель работы: Проследить особенности образования любого навыка (динамического стереотипа) на примере выработки навыка зеркального письма...

Словарная работа в детском саду Словарная работа в детском саду — это планомерное расширение активного словаря детей за счет незнакомых или трудных слов, которое идет одновременно с ознакомлением с окружающей действительностью, воспитанием правильного отношения к окружающему...

Studopedia.info - Студопедия - 2014-2025 год . (0.007 сек.) русская версия | украинская версия