“Dasturiy injiniring” fakulteti “MA‟lumotlar tuzilmasi va algoritmlar”



Yüklə 1,33 Mb.
Pdf görüntüsü
səhifə37/49
tarix08.11.2022
ölçüsü1,33 Mb.
#67920
1   ...   33   34   35   36   37   38   39   40   ...   49
Malumotlar-tuzilmasi-va-algoritmlar-asosida-nazariy-bilimlarini-hamda

 
5.3. Teng bo

lish orqali qidiruv (ikkilik qidiruv) algoritmi 
Faraz qilaylik, o‟sish tartibida tartiblangan sonlar massivi berilgan bo‟lsin. 
Ushbu usulning asosiy g‟oyasi shundan iboratki, tasodifiy qandaydir A
M 
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.
 
 


99 
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"); 
}

Yüklə 1,33 Mb.

Dostları ilə paylaş:
1   ...   33   34   35   36   37   38   39   40   ...   49




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin