Ushbu bobda biz turli xil qidiruv algoritmlarini ko'rib chiqamiz.
Machine Translated by Google
©www.CareerMonk.com
Ma'lumotlar tuzilmalari va algoritmlari osonlashtirildi
415
Qidirilmoqda | Saralangan/tartibli chiziqli qidiruv
}
uchun (int i = 0; i < n; i+
+) {
}
} qaytish -1;
Kosmik murakkablik: (1).
{
Agar massivning elementlari allaqachon tartiblangan bo'lsa, ko'p hollarda element berilgan massivda bor
yoki yo'qligini bilish uchun to'liq massivni skanerlashimiz shart emas. Quyidagi algoritmda buni ko'rish mumkin
bir xil.
Bu algoritmning vaqt murakkabligi (). Buning sababi, eng yomon holatda biz to'liq massivni skanerlashimiz
kerak. Ammo o'rtacha holatda, o'sish sur'ati bo'lsa ham, murakkablikni kamaytiradi
qolgan massivni qidirmasdan.
Eslatma: Yuqoridagi algoritm uchun indeksni tezroq sur'atda oshirish orqali yanada yaxshilanishimiz mumkin
(masalan, 2). Bu tartiblangan ro'yxatda qidirish uchun taqqoslashlar sonini kamaytiradi.
int SortedLinearSearch(int A[], int n, int
ma'lumotlari) {
} qaytish -1;
uchun (int i = 0; i < n; i+
+) {
ya'ni, istalgan vaqtda [] qiymati qidirilayotgan qiymatdan katta bo'lsa, biz shunchaki -1 ni qaytaramiz
agar (A[i] == ma'lumotlar)
i ni qaytaradi;
Kosmik murakkablik: (1).
Ushbu algoritmning vaqt murakkabligi (). Buning sababi, eng yomon holatda biz to'liq massivni skanerlashimiz
kerak.
agar (A[i] ==
ma'lumotlar)
i ni qaytaradi; else
if(A[i] > data) -1ni qaytaradi;
Eslatma:
Ikkilik qidiruv va qidiruv
Do'stlaringiz bilan baham: |