Ўзбекистон республикаси ахборот технологиялари ва коммуникацияларини ривожлантириш вазирлиги


Download 26.86 Kb.
Sana20.10.2020
Hajmi26.86 Kb.
#134988
Bog'liq
Lab


ЎЗБЕКИСТОН РЕСПУБЛИКАСИ АХБОРОТ ТЕХНОЛОГИЯЛАРИ ВА КОММУНИКАЦИЯЛАРИНИ РИВОЖЛАНТИРИШ ВАЗИРЛИГИ

МУХАММАД АЛ-ХОРАЗМИЙ НОМИДАГИ ТОШКЕНТ АХБОРОТ ТЕХНОЛОГИЯЛАРИ УНИВЕРСИТЕТИ

Labarotoriya - 1

Algoritimlarni Loyihalash

Bajardi: Toshev Islombek

Gruh: 218-18






YANGI

Binar qidiruv( Binary Search )




Aytaylik bizga tartiblangan n ta elementdan iborat arr[] massiv berilgan bo'lsin, va berilgan x ni arr[] ichidan qidirish funksiyasini tuzish sharti qo'yilsin.

Bu holatda eng oson yo'l sifatida chiziqli qidiruvni misol keltirish mumkin. Ammo bu usulning vaqt davomiyligi O(n) ni tashkil qiladi. Xuddi shu vazifa uchun biz binar qidir algoritmini ishlatsak bo'ladi.

Binar qidiruv

Qiyinlik darajasi: 5/10.

Eng zo'r ko'rsatkichi(vaqt): O(1)

Eng yomon ko'rsatkichi(vaqt): O(log n)

O'rtacha ko'rsatkichi(vaqt): O( log n)

Binar qidiruvning asosiy g'oyalaridan biri ketma-ket ikkiga bo'lishga asoslanadi, ya'ni berilgan x ni massivning o'rtadagi elementi bilan solishtiradi, agar katta bo'lsa oxiri va o'rtasi orasidagi massivni oladi, agar kichkina bo'lsa boshi va o'rtasi orasidagi massivni oladi, va har safar shu jarayon takrorlanib boradi toki x element solishtirilayotgan massivning elementga teng bo'lgunicha yoki massivning elementlari qolmaguncha.

Topshiriq:

8-variant. Binar qidiruvdan foydalanib elementlami tasodifiy ravishda toping.



Dastur kodi:



public class TUITExamples {

static int binarySearch(int arr[], int l, int r, int x) {
if (r >= l) {
int mid = l + (r - l) / 2;

if (arr[mid] == x)
return mid;

if (arr[mid] > x)
return binarySearch(arr, l, mid - 1, x);

return binarySearch(arr, mid + 1, r, x);
}


return -1;
}

// Driver method to test above
public static void main(String args[]) {
int arr[] = {2, 3, 4, 10, 40, 80};
int search = 10;
int result = binarySearch(arr, 0, arr.length - 1, search);
if (result == -1)
System.out.println("Element topilmadi");
else
System.out.println("Topilgan element ideksi " + result);
}

}


Natija:

Topilgan element ideksi 3

Download 26.86 Kb.

Do'stlaringiz bilan baham:




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