|
O‘zbekiston respublikasi raqamli texnologiyalar vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti ma’lumotlar tuzilmasi va algoritmlar fanidanBog'liq Namozov Maxmud 2 ishM
element
olinadi va u X qidiruv argumenti bilan taqqoslanadi. Agar A
M
=X bo’lsa, u holda
qidiruv yakunlanadi; agar A
M
bo’lsa, u holda indekslari M dan kichik yoki teng
bo’lgan barcha elementlar kelgusi qidiruvdan chiqarib yuboriladi. Xuddi
shuningdek, agar A
M
>X bo’lsa, u holda indekslari M dan katta bo’lgan barcha
elementlar kelgusi qidiruvdan chiqarib yuboriladi.
M ixtiyoriy tanlanganda ham taklif qilinayotgan algoritm korrekt ishlaydi.
Shu sababali M ni shunday tanlash lozimki, tadqiq qilinayotgan algoritm
samaraliroq natija bersin, ya’ni uni shunday tanlaylikki, iloji boricha kelgusi
jarayonlarda ishtirok etuvchi elementlar soni kam bo’lsin. Agar biz o’rtacha
elementni, ya’ni massiv o’rtasini tanlasak yechim mukammal bo’ladi. Misol uchun
butun sonlardan iborat, o’sish bo’yicha tartiblangan massivdan ikkilik qidiruv usuli
yordamida key kalitga mos elementni izlash dasturini ko’rib chiqamiz.
Dastur kodi
#include
using namespace std;
int main(){
int n;cout<<"n=";cin>>n;
int k[n];
for(int i=0;i>k[i];
int key, search;
cout<<"qidirilayotgan elementni kiriting=";cin>>key;
int low = 0;
int hi = n-1; int j=0;
while (low <= hi){
int mid = (low + hi) / 2;j++;
if (key == k[mid]){
search = mid;
cout<<"qidirilayotgan element "<
"<
system("pause");
exit(0);
}
if (key < k[mid])
hi = mid - 1;
else low = mid + 1;
}
search=-1;
cout<
topilmadi\n";
system("pause");
}
|
|
Bosh sahifa
Aloqalar
Bosh sahifa
O‘zbekiston respublikasi raqamli texnologiyalar vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti ma’lumotlar tuzilmasi va algoritmlar fanidan
|