Ўзбекистон республикаси ахборот технологиялари ва коммуникацияларини ривожлантириш вазирлиги
Download 26.86 Kb.
|
Lab
- Bu sahifa navigatsiya:
- Labarotoriya - 1
- chiziqli qidiruv
ЎЗБЕКИСТОН РЕСПУБЛИКАСИ АХБОРОТ ТЕХНОЛОГИЯЛАРИ ВА КОММУНИКАЦИЯЛАРИНИ РИВОЖЛАНТИРИШ ВАЗИРЛИГИ МУХАММАД АЛ-ХОРАЗМИЙ НОМИДАГИ ТОШКЕНТ АХБОРОТ ТЕХНОЛОГИЯЛАРИ УНИВЕРСИТЕТИ 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
ma'muriyatiga murojaat qiling