- Chiziqli qidiruv tarkibiy qidiruvga misol bo'ladi.
- Aytaylik bizga massiv berilgan:
- A={1,2,3,4,5,6,7,8,9,10} Bizga ushbu massivda biron bir element bor yoki yo'qligini tekshira oladigan algoritm tuzish sharti qo'yilgan.Ushbu masalani yechishda eng birinchi hayolga keladigan usul - bu massivni ketma-ket har bir elementini solishtirib chiqish va bu usul: Chiziqli qidiruv - Linear Search deb ataladi.
- Algoritm g'oyasi: Ma'lumotlar butun jadval bo'yicha operativ xotirada kichik adresdan boshlab, to katta adressgacha ketma-ket qarab chiqiladi.
- #include
- using namespace std;
- int chiziqliQidiruv(int array[], int uzunlik, int qidirilayotganElement) {
- for (int i = 0; i < uzunlik; ++i) {
- if (array[i] == qidirilayotganElement) {
- return i; // Agar element topilsa, indeksni qaytaradi
- }
- }
- return -1; // Agar element topilmasa, -1 qaytaradi
- }
- int main() {
- int myArray[] = {2, 7, 1, 4, 9, 5, 8, 3, 6};
- int uzunlik = sizeof(myArray) / sizeof(myArray[0]);
- int qidirilayotganElement;
- cout << "Qidirilayotgan elementni kiriting: ";
- cin >> qidirilayotganElement;
- int indeks = chiziqliQidiruv(myArray, uzunlik, qidirilayotganElement);
- if (indeks != -1) {
- cout << "Element topildi. Indeks: " << indeks << endl;
- } else {
- cout << "Element topilmadi." << endl;
- }
- return 0;
- }
Bu dastur orqali biz myArray ichidagi sonlardan biri necinci indeksda joylashganini korishimiz mumkin. Biz myArray ichidagi sonlardan birini qora ekranga kiritsak uni nechinchi indeksda ekanligini chiqarib beradi.Agar biz umuman boshqa ya’ni myArray ichida yoq sonlarni kiritsak bizga “Element topilmadi”qaytariladi. BINAR QIDIRUV - 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.
Do'stlaringiz bilan baham: |