97
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
(5.1-rasm), u holda ketma-ket qidiruv ro‟yhatda amalga oshiriladi.
5.1-rasm. Bir bog‟lamli ro‟yhatning ko‟rinishi
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;
98
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.
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