keyingi element undan kichikroq bo'lgan yagona elementdir. Yuqoridagi mezonlar va ikkilik qidiruv
metodologiyasidan foydalanib, biz () vaqt ichida pivot elementni olishimiz mumkin
Yechish:
Yechish: Bu masala m-26 muammosiga deyarli o‘xshaydi. Bitlarni 2 tezligida tekshiring, bu erda = 0, 1, 2 ....
Rekursiya tenglamasi () = 2(/2)+. Asosiy teoremadan foydalanib, biz () ni olamiz.
Muammo-25 ni qanday hal qilamiz?
Muammo- Muammo-27 Boshida hammasi 1' va oxirida 0' bo'lgan noma'lum o'lchamdagi kirish massivi berilgan.
Massivdagi indeksni 0ÿ dan boshlanadigan joydan toping. Tasavvur qiling, millionlab 1ÿ va 0ÿ bor
Muammo- Muammo-26 Agar biz bilmasak
Quyidagi funktsiya qiymatni qaytaradi (bu funksiya qiymat o'rniga indeksni qaytaradi deb faraz qilaylik). Pivot
nuqtasini toping, massivni ikkita kichik massivga bo'ling va ikkilik qidiruvni chaqiring.
Yechish:
Yechish: [] > 0 ekanligini qayta-
qayta hisoblang.
Muammo-28-masala Noma'lum marta aylantirilgan butun sonlarning tartiblangan massivi berilgan,
Algoritm algoritmi
2) Endi ikkita kichik massivdan biri uchun ikkilik qidiruvni
chaqiring. a. agar element birinchi elementdan katta bo'lsa, u holda chap
pastki qatorda qidiring b. Aks holda
o'ng pastki qatorda qidiring 3) Agar element tanlangan pastki qatorda topilsa, indeksni qaytaring
Machine Translated by Google
©www.CareerMonk.com
Ma'lumotlar tuzilmalari va algoritmlari osonlashtirildi
432
Qidirilmoqda | Qidiruvdagi muammolar
qaytish boshlanishi;
}
boshqa
{
}
boshqa
int o'rta = past + (yuqori - past)/2;
return BinarySearch(A, past, (o'rta -1), x);
Do'stlaringiz bilan baham: |