Saralangan/Buyurtmalangan Saralangan/Buyurtmalangan
/OrderedLinear Search Lineer Search Linear Search
Machine Translated by Google
©www.CareerMonk.com
Ma'lumotlar tuzilmalari va algoritmlari osonlashtirildi
416
Qidirilmoqda | Ikkilik qidiruv
{
agar (A[mid] ==
ma'lumotlar)
o'rtaga qaytsa; else if
(A[mid]
int o'rta = past + (yuqori-past)/2; //toshib ketmaslik uchun
qaytish BinarySearchRecursive (A, past, o'rta - 1 , ma'lumotlar);
o'rta = past + (yuqori-past)/2; //toshib ketmaslik uchun
boshqa
Agar biz lug'atda so'zni qidirishni ko'rib chiqsak, biz to'g'ridan-to'g'ri taxminiy sahifaga o'tamiz [umuman o'rta
sahifa] o'sha nuqtadan qidirishni boshlaymiz. Agar biz qidirayotgan narsa bir xil bo'lsa, biz qidiruvni tugatdik.
Agar sahifa tanlangan sahifalardan oldin bo'lsa, xuddi shu jarayonni qo'llang
yuqori = o'rta - 1;
}
boshqa
qaytish -1;
}
usta
//Rekursiv ikkilik qidiruv algoritmi int
BinarySearchRecursive[int A[], int low, int high, int data) {
birinchi yarmi uchun aks holda ikkinchi yarmi uchun xuddi shu jarayonni qo'llang. Ikkilik qidiruv ham xuddi
shunday ishlaydi. Bunday strategiyani qo'llash algoritmi deb ataladi
} qaytish -1;
//Iterativ ikkilik qidiruv algoritmi int
BinarySearchIterative[int A[], int n, int data)
ÿ algoritmi.
Ikkilik qidiruv uchun takrorlanish () = ( )+ (1). Buning sababi shundaki, biz har doim kiritilgan ro'yxatning faqat
yarmini ko'rib chiqamiz va qolgan yarmini tashlab yuboramiz. Teoremadan
foydalanib, () = () ni olamiz.
Do'stlaringiz bilan baham: |