Лабораторная работа. Тема: Линейный поиск



Download 228,48 Kb.
Sana26.02.2022
Hajmi228,48 Kb.
#472059
TuriЛабораторная работа
Bog'liq
lob1


1 Лабораторная работа.
Тема: Линейный поиск
Цель работы. Изучите алгоритмы линейного поиска и напишите программы.
Теоретическая часть.
Одной из самых распространенных задач в программировании является поиск информации. Существует несколько основных вариантов поиска, и для них разработаны разные алгоритмы.
Говорят, что линейный поиск ищет заданное значение произвольной функции в любом пересечении. Этот алгоритм является простым алгоритмом, в отличие от других алгоритмов, таких как бинарный поиск, здесь нет ограничений на функцию и его реализация проста.
Алгоритм линейного поиска
Поиск значения функции проверяется простым сравнением следующего значения (обычно в порядке возрастания слева направо). Есть два типа задач: 1) Найти первый найденный аргумент 2) Найти все аргументы.
Если индекс массива используется в качестве аргумента массива как функции, то необходимо найти таких i индексов a_i = x из массива a, заданного в результате линейного поиска.
Массив: 45, 12, 89, 12, -78, 12;
Позиции числа 12 — 2, 4, 6;
Линейный поиск.
В простом линейном поиске вы исследуете каждый элемент массива один за другим.
int функция LinearSearch (Array A, int L, int R, int Key);
начинать
для X = L to R сделать
если A [X] = ключ, то
вернуть Х
возврат -1; // элемент не найден
конец;
Переменные L и R — это интервалы, в которых ищется элемент.
Время выступления.
Если выполняется поиск по первому встречающемуся индексу в массиве, то время выполнения алгоритма линейного поиска равно:
В лучшем случае: О (1). То есть, если элемент, который вы ищете, находится в начале рассматриваемого интервала.
В худшем случае: O(n). То есть, если искомый элемент находится в конце искомого интервала или вообще не встречается.
n — количество элементов в искомом интервале. Для приведенного выше примера n = R-L + 1.
Алгоритм линейного поиска эффективен только тогда, когда длина искомого интервала мала.
Практическая часть.
Создайте и используйте функцию, которая возвращает количество встреч заданного значения в заданном массиве.
Примеры:



Input

Output

1

8
-8 9 -8 5 6 78 -8 8
-8

3



2

4
1 2 3 4
5

0

Yechimi.
#include
using namespace std;

int cnt_accureces(int x, int a[], int n) {


int res = 0;
for (int i = 0; i < n; i++) {
if (a[i]==x)
res++;
}
return res;
}
int main() {
int n;
cin >> n;
int a[n];
for (int i = 0; i < n; i++) {
cin >> a[i];
}
int x;
cin >> x;
cout << cnt_accureces(x, a, n) << endl;
}

лабораторная работа.
Вам дан одномерный массив и число k. Ваша задача состоит в том, чтобы создать программу поиска из заданного массива. То есть узнать в каких позициях он будет летать.Индекс массива начинается с 1.
Ответ:
#include
using namespace std;
int main()
{
int n, i;
cin>>n>>i;
double w[n+1];
for(i=1;i<=n; i++){
cin>>w[i+1];
}
double k,c=0;
cin>>k;
for(i=1; i<=n; i++){
if(w[i+1]==k) {c++;
}}
cout<
for(i=1;i<=n;i++){
if(w[i+1]==k) cout<
}
return 0;
}


Download 228,48 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish