“Ахборот технологиялари” факультети “Ахборот технологияларини дастурий таъминоти” кафедраси “маълумотлар тузилмаси ва алгоритмлар”


Download 0.64 Mb.
Pdf ko'rish
bet21/28
Sana21.02.2023
Hajmi0.64 Mb.
#1219557
1   ...   17   18   19   20   21   22   23   24   ...   28
Алгоритм 
1. Кетма-кет қидирув 
Мазкур кўринишдаги қидирув агар маълумотлар тартибсиз ёки улар тузилиши ноаниқ бўлганда 
қўлланилади. Бунда маълумотлар бутун жадвал бўйича оператив хотирада кичик адресдан бошлаб, то катта 
адресгача кетма-кет қараб чиқилади. 
Массивда кетма-кет қидирув (search ўзгарувчи топилган элемент рақамини сақлайди).
Кетма-кет қидирув алгоритми Паскал тилида қуйидагича бўлади: 
for i:=1 to n do 
if k[i] = key then 
begin 
search = i; 
exit; 
end; 
search = 0; 
exit; 
Массивда кетма-кет қидирув алгоритми самарадорлигини бажарилган таққослашлар сони М билан 
аниқлаш мумкин. М
min
= 1, M
max
= n. Агар маълумотлар массив ячейкасида бир ҳил эхтимоллик билан 
тақсимланган бўлса, у ҳолда М
ср

(n + 1)/2 бўлади.
Агар керакли элемент жадвалда йўқ бўлиб, уни элементни жадвалга қўшиш лозим бўлса, у ҳолда 
юқорида келтирилган алгоритмдаги охирги иккита оператор қуйидагича алмаштирилади. 
n:=n+1; 
k[n]:=key; 
r[n]:=rec; 


30
search:=n; 
exit; 
Агар маълумотлар жадвали бир боғламли рўйхат кўринишида берилган бўлса, у ҳолда кетма-кет 
қидирув рўйхатда амалга оширилади. 
Алгоритм 
q:=nil; 
p:=table; 
while (p <> nil) do 
begin 
if p^.k = key then 
begin 
search = p; 
exit; 
end; 
q := p; 
p := p^.nxt; 
end; 
New(s); 
s^.k:=key; 
s^.r:=rec; 
s.^nxt:= nil; 
if q = nil then table = s
else q.^nxt = s; 
search:= s; 
exit; 
Рўйхатли тузилманинг афзаллиги шундан иборатки, рўйхатга элементни қўшиш ёки ўчириш тез амалга 
ошади, бунда қўшиш ёки ўчириш элемент сонига боғлиқ бўлмайди, массивда эса элементни қўшиш ёки ўчириш 
тахминан барча элементларни яримини силжитишни талаб қилади. Рўйхатда қидирувни самарадорлиги 
тахминан массивники билан бир ҳил бўлади. 

Download 0.64 Mb.

Do'stlaringiz bilan baham:
1   ...   17   18   19   20   21   22   23   24   ...   28




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling