Ketma-ket qidiruv usuli va uning algoritmining tushuntirib bering. Bu qidiruv usuli qanday tuzilmalar uchun samarali deb hisoblaysiz?




Download 1.05 Mb.
bet9/50
Sana09.11.2023
Hajmi1.05 Mb.
#96616
1   ...   5   6   7   8   9   10   11   12   ...   50
Bog'liq
Ma
Standart tizim blokining ulagichlari, strategiya malaka oshirish, Bir va ikki bog, laboratoriya 1.2.3, Mavzu xotirani taqsimlash usullari, Ma’lumotlarlar modeli va ularni ishlatish. Uml modellashtirish, Savollar, 57-6-85-F 22, 532-6-85-Q 22

Ketma-ket qidiruv usuli va uning algoritmining tushuntirib bering. Bu qidiruv usuli qanday tuzilmalar uchun samarali deb hisoblaysiz?




Mazkur ko’rinishdagi qidiruv agar ma’lumotlar tartibsiz yoki ular tuzilishi noaniq bo’lganda qo’llaniladi. Bunda ma’lumotlar butun jadval bo’yicha operativ xotirada kichik adresdan boshlab, to katta adresgacha ketma-ket qarab chiqiladi.
Massivda ketma-ket qidiruv (search o’zgaruvchi topilgan element tartib raqamini saqlaydi). Ketma-ket qidiruv algoritmi C++ tilida quyidagicha bo’ladi:
int qidiruv(int key)
{ for (int i=0;i if (k[i]==key) { search = i;return search;} search = -1;
return search;
}}
Massivda ketma-ket qidiruv algoritmi samaradorligini bajarilgan taqqoslashlar soni M bilan aniqlash mumkin. Mmin = 1, Mmax = n. Agar ma’lumotlar massiv yacheykasida bir xil ehtimollik bilan taqsimlangan bo’lsa, u holda Mo’rt  (n + 1)/2 bo’ladi.
Agar kerakli element jadvalda yo’q bo’lib, uni jadvalga qo’shish lozim bo’lsa, u holda yuqorida
keltirilgan algoritmdagi oxirgi ikkita operator quyidagicha almashtiriladi.
n=n+1;


k[n-1]:=key;


r[n-1]:=rec; search:=n-1; return search;



Agar ma’lumotlar jadvali bir bog’lamli ro’yhat ko’rinishida berilgan bo’lsa , u holda ketma-ket qidiruv
ro’yhatda amalga oshiriladi.






Chiziqli bir bog’lamli ro’yhatdan key kalitga mos elementni ketma-ket qidiruv usuli yordamida izlab topish dasturi.
Node *q=NULL; Node *p=lst; while (p !=NULL){
if (p->k == key){ search = p; return search;
}


q = p;


p = p->nxt; }
Node *s=new Node;; s->k=key;
s->r=rec;
s->nxt= NULL;
if (q == NULL){ s->nxt=lst; lst = s;
} else q->nxt = s; search= s;
return search;
Ro’yhatli tuzilmaning afzalligi shundan iboratki, ro’yhatga elementni qo’shish yoki o’chirish tez amalga oshadi, bunda qo’shish yoki o’chirish element soniga bog’liq bo’lmaydi, massivda esa elementni qo’shish yoki o’chirish o’rta hisobda barcha elementlarning yarmini siljitishni talab qiladi. Ro’yhatda qidiruvning samaradorligi taxminan massivniki bilan bir xil bo’ladi.



  1. Download 1.05 Mb.
1   ...   5   6   7   8   9   10   11   12   ...   50




Download 1.05 Mb.

Bosh sahifa
Aloqalar

    Bosh sahifa



Ketma-ket qidiruv usuli va uning algoritmining tushuntirib bering. Bu qidiruv usuli qanday tuzilmalar uchun samarali deb hisoblaysiz?

Download 1.05 Mb.