
Algoritmler teoriyası
.pdf
Bul saralaw usılı prioritetli gezek járdeminde saralaw degen at penen de belgili.
Bul saralaw usılın analizlew ańsat bolıp, birinshi adımda n-1 salıstırıw ótkeriledi, ekinshisinde n-2 salıstırıw hám t.b. Demek ulıwma
(n-l) + (n-2) + (n-3)+...+l = n*(n-l)/2
sandaǵı salıstırıwlar júrgiziledi hám ol O(n2) teń boladı. Almastırıwlar sanı N—1 ge teń boladı. Qosımsha yadtı az talap etedi. Bul usıl kóbikli saralaw usılınan tez
28
bolsada onıń tártibi O(n2). Bul usıldı jetilistiriw múmkinshiligi joq. Ol programmalastırıwǵa qolay bolsada N niń kishi mánislerinde ǵana paydalanıladı. Tez saralaw usılı.
Ayırıw menen almasıp sortlaw usılı yamasa tez sortlaw usılın qaraymız. Meyli x bazı bir massiv bolsın, al n- bul massivtegi elementler sanı bolsın hám massivti sortlaw kerek bolsın. Massivtiń ishinen konkret orınnan bazı bir elementti saylap alamız. x massivtiń elementleri sonday etip tártiplesken bolsın dep uyǵarayıq a element J orınǵa jaylastırılsın hám tómendegi shárt orınlansın.
1. Hár bir element 1 den J-1 ge shekemgi orınlardaǵı a dan kishi yamasa teń bolsın. 2. J+1 den n-ge shekemgi hár bir element a dan úlken yamasa teń bolsın. Konkret a hám j ler ushın usı eki shárt orınlansa, onda a x massivtiń J-shi kishkene elementi esaplanadı hám j shi orında jaylasadı, eger massiv tolıq saralanǵan bolsa. Eger usı aytılǵan process x(1) den x(j) shekemgi hám x(j+1) den x(n) ge shekemgi úles massivler ushın qaytalansa onda keyingi nátiyjede saralanǵan bazı bir fayl payda boladı. Tez sortlaw usılın mısalda túsindireyik. Eger dáslepki massiv mına kóriniste berilse 25 57 48 37 12 92 86 83
hám birinshi element (25) sáykes orınǵa jaylastırıladı hám onda nátiyje 12 25 57 48 37 92 86 33
kóriniste boladı. Bul momentte 25 element massivtegi ornında jaylasqan bolsa, ( x(2) orında ) onda hár bir shepte jaylasqan element 25 ten kishi yamasa teń, hár biri ońda jaylasqan element 25 ten úlken yamasa teń boladı. 25 óziniń ornında jaylasqanı ushın dáslepki másele eki úles massivin saralawǵa alıp kelinedi
(12) hám (57,48, 37, 92, 86, 33)
Olardıń birinshisin saralaw ushın hesh nárse islew kerek emes. Ekinshisin saralaw ushın processti qaytalaymız. Yaǵnıy
12 25 (48, 37, 33) 57 (92, 86)
massiv mına kóriniste boladı. Keyinge iteraciyalar mınalardı beredi 12 25 (37 33) 48 57 (92 86)
12 25 (33) 37 48 57 (92 86)
12 25 33 37 48 57 (92 86)

12 25 33 37 48 57 (86) 92
12 25 33 37 48 57 86 (92)
keyingisi saralanǵan massiv boladı. Solay etip tez saralaw usılı bazı bir rekursiv proceduranı beredi eken. Bazı bir x massivtiń lb ub orınları arasındaǵı elementlerdi saralaw ushın quick(lb, ub) algoritimin jazıp kórsetemiz.
if lb>ub then return ‗ massiv saralanǵan end if
rearrange(lb,ub,j) ‗úles massiv elementlerin tártiplestiriw kerek
‗nátiyje onıń bir elementi x(lb) ‗ x(j) elementi ornında bolsın:
‗1. x(j)≤ x(j) lb≤ i<j ler ushın
‗2. x(i)>x(j) j<i≤ ub лер ушын
‗x(j) endi óziniń ornında jaylasadı.
quick(lb,j-1) ‗ lb hám j-1 arasındaǵı elementler saralanadı. quick(j+1, ub) ‗ j+1 menen ub arasındaǵı elementler saralanadı.
Endi eki máseleni sheshiw kerek boladı. Bular rearrange algoritmin ámelge asırıwshı mexanizdi jaratıw máselesi hám barlıq processti ámelge asırıwshı rekursiv emes usılda jaratıw máselesi. Rearrange algoritiminiń maqseti bazı bir konkret element ushın óz ornın tabıwǵa múmkinshilik beriw. Bul saralaw usılı ushın tártiplestiriwdiń qanday usılı qollanılǵanı áhmiyetke iye emes. Saralaw ushın tek elementler belgili tártipte ajıratılsa boladı. Mısalda hár bir eki úles fayllardıń elementleri dáslepki
29
faylda qanday qatnasta bolǵan bolsa keyninde sol qatnasta boladı. Biraq bunday qayta tártiplestiriw usılın nátiyjeli dep bolmaydı. Qayta tártiplestiriwge effektiv tásir etiwshi usıldıń biri tómendegishe boladı.
Meyli a=x(lb) elementi óziniń eń keyingi ornı anıqlanıp atırǵan element bolsın. Dáslep eki kórsetkish up hám down massivtiń tómengi hám joqarı shegaralarına ornatıladı. Qálegen etepta hár bir element bazı bir orında up tan ońda bolsa a dan úlken yamasa teń boladı, up hám down nan shepte bolsa a dan kishi yamasa teń boladı. up hám down kórsetkishleri birine biri jaqınlasıp baradı.
down kórsetkishi mánisin bir orınǵa arttırıw arqalı x(down)>a bolǵansha programmanı orınlaw |
|
baslanadı. Onnan keyin |
|
|
≤ a bolǵansha up kórsetkishi hár saparı kemitiledi. Eger sonda da up úlken bolsa |
x(up) |
down |
|
≤ down shárti orınlanǵansha dawam |
nan onda olardıń ornı awıstırıladı. Bul process up
etedi. Sol waqqıtta x(up) menen x(lb) ornı almastırıladı hám j ge up ornı mánis etip beriledi. Usı aytılǵandı ápiwayı faylda kórsetemiz. Skanerlew baǵıtı strelka menen kórsetilgen, juldızsha elementlerdiń óz ara transpoziciyalanǵanlıǵın bildiredi. Bul
momengte 25 shi element óziniń sońǵı ornında jaylasqan bolıp, onıń shep tárepindegi hár |
|||
≤ |
|
≥ |
25 ten boladı. Bunnan keyin eki |
bir element |
25, al onıń ońda jatqan hár bir element |
|
|
|
|
úles massivtiń saralawǵa ótiledi. (12) hám (48 37 57 92 86 33)
hám sol usıldı qollanıp process dawam ettiriledi.
Saralaw algoritmlerine mısallar sheshiw
Endi mısal sheshiw nátiyjelerin keltiremiz.
1-mısal. Mına berilgen sanlar massivin saralawdı kóbikli saralaw usılı menen ótkeriń: 25 57 48 37 12
92 86 33 7 66
A) Máseleni sheshiw ushın birinshi kóbikli saralaw usılı algoritmine Delfi tilinde programma dúzip onıń nátiyjesin alamız
procedure sortpuzir; const n=10;
type item=integer; var a:array[1..n] of item; i,j:integer; x:item;
ff:textfile; begin
assign(ff,'puzir.txt');
rewrite(ff); for i:=1 to n do a[i]:=a2[i];
for i:=1 to n do write(ff,a[i],' '); writeln(ff);
for i:=2 to n do for j:=n downto i do begin
if a[j-1]>a[j] then begin
x:=a[j-1];a[j-1]:=a[j];a[j]:=x; end;
end;
for i:=1 to n do write(ff,a[i],' '); writeln(ff);
close(ff);
end;
30
7 12 25 33 37 48 57 66 86 92
B) Endi bul mısaldı tez saralaw usılı menen sheshemiz hám onıń programmasın nátiyjesi menen keltiremiz. Mısaldıń berilgeni
25 57 48 37 12 92 86 33 7 66 Usıldıń programması: procedure bistrosort;
const n=10;
type item=integer;
var a: array[1..n] of item; i:integer; ff: textfile;
procedure sort(l,r:integer); var i,j:integer; x,y :item; begin
i:=l; j:=r; x:=a[(l+r)div 2];
repeat while a[i]<x do i:=i+1;while x<a[j] do j:=j-1; if i<=j then
begin
y:=a[i]; a[i]:=a[j]; a[j]:=y; i:=i+1; j:=j+1; end;
until i>j;
if l<j then sort(l,j); if i<r then sort(i,r); end;
begin assign(ff,'bistro.txt'); rewrite(ff);
for i:=1 to n do a[i]:=a2[i];
for i:=1 to n do write(ff,a[i],' '); writeln(ff);
sort(1,n);
for i:=1 to n do write(ff,a[i],' '); writeln(ff);
close(ff);
end;
7 12 25 33 37 48 57 66 86 92
V) Endi bul mısaldı ápiwayı saylaw járdeminde saralaw usılı algoritmine Delfi tilinde programma dúzip sheshemiz. Mısaldıń berilgeni:
25 57 48 37 12 92 86 33 7 66 Usıldıń programması: procedure sortpriamvibor; const n=10;
type item=integer; var a:array[1..n] of item; i,j,k:integer; x:item;
ff:textfile; begin
31
assign(ff,'sortpram.txt');
rewrite(ff); for i:=1 to n do a[i]:=a2[i];
for i:=1 to n do write(ff,a[i],' '); writeln(ff);
for i:=1 to n-1 do begin k:=1;x:=a[i];
for j:=i+1 to n do
if a[j]<x then begin k:=j; x:=a[k] end; a[k]:=a[i]; a[i]:=x;write(ff,a[i],' '); end;
for i:=1 to n do write(ff,a[i],' '); close(ff);
end;
7 12 25 33 37 48 57 66 86 92
Lekciya -16. Maǵlıwmatlardı izlew algoritmleri hám olardıń effektivligi Izlewdiń belgili usılların qarap shıǵıwdan aldın birneshe terminlerdi kórip shıǵamız (tablica yamasa fayl geypara topar elementi bolıp, bulardıń hár biri jazıw dep ataladı. Bul jerde «fayl» hám jazıw degen terminlerdi ulıwma mániste qollanamız. Biraq bunı Beysik tili dúzilisindegi usınday terminler menen almastırmaw kerek).
Hár bir jazıw gilti menen ajıralıp turadı. Jazıw hám gilt arasındaǵı aralıq ápiwayı hám quramalı boladı. Ápiwayı jaǵdayda gilt jazıw ishindegi (arasındaǵı) kishkene ashıqlıq bolıp, jazıwdıń basınan bir qansha keyinirek sheginisten baslanadı. Bul gilt ishki gilt yamasa dúzilisken gilt dep ataladı. Basqa jaǵdaylarda gilt fayl ishindegi jazıwlar poziciyası bolıp jeke giltler tablicası esaplanıp, jazıwǵa kórsetkishke iye boladı. Bul giltler sırtqı giltler dep ataladı. Bir faylda hesh bolmaǵanda bir gilt jıynaǵı boladı (bir neshe giltler jıynaǵı da bolıwı múmkin), ol tákrarlanbaydı (yaǵnıy fayldaǵı eki jazıw birdey gilt mánisin bildirmeydi). Bunday gilt birinshi gilt dep ataladı. Mısalı bir faylda birdey atamadaǵı eki qala atları bar adresi bolsa, bul tákrarlanbas gilt bola almaydı, sebebi birdey atamadaǵı eki qala atları bar.
Bunday tablica operativ yadqa yamasa ekewinede túsiriledi. Hár qıylı tablicalardı shólkemlestiriw ushın hár qıylı izlew usılları qollanıladı. Tablicanıń hámmesi operativ yadta jaylasqan izlew usılları, ishki izlew usılları, al tablicanıń kópshilik bólegi járdeminen yadta saqlanadı. Bul sırtqı izlew usılı dep ataladı.
Izbe-iz izlew usılı.
Ápiwayı izlew forması bul izbe-iz izlew bolıp esaplanadı. Bul massiv yamasa baylanıslı dizim menen jasalǵan tablicada qollanıladı. k – n -ólshemli giltler massivi,, r – jazıwlar massivi dep uyǵarayıq. k(i)- r(i) diń gilti esaplanadı. key bolsa izlew argumenti. Izlewdiń algoritmi tómendegishe boladı:
for i=1 to n
if key=k(i) then search=i return endif
next I search=Q return
32
Bul algoritmde gezekpe-gezek hár bir gilt tekseredi. Gilt tabılǵanda izlew argumenti menen sáykes keledi hám indeks shıǵadı (bul jazıwda kórsetkish rolin atqaradı). Eger sáykes kelmese 0 shıǵadı.
Bul algoritm r jazıwı menen key giltine qosımsha kiritiwde qollanıladı. Kelesi operatorlar tómende kórsetilgenlerdi almaslaydı:
n=n+1 tablica ólshemin úlkeytemiz k(n)=key jazıwǵa jańa gilt kiritemiz r(n)=rec
search=n return
Eger qosımsha algoritmdi ózgertiw menen kiritilse eki jazıw birdey giltke iye bola almaytuǵınlıǵın aytıp ótiw kerek. Bul algoritm Beysik tilinde ámelge asırılsa ózgermeli n di úlkeytiw, onıń mánisiniń massiv shegarasınıń ústine jazıw bolıwı da múmkin. Bunday gilt ekinshi gilt dep ataladı. Biz qarap ótpekshi bolǵan algoritmlerimizde tákrarlanbas hám ekinshi giltlerdi de qollanıw jaǵdayların qarap ótemiz. Algoritm adaptaciyasında programmalastırıwshı gilt tákrarlanbas yaki algoritm
buǵan mólsherlengen yamasa keri jaǵdayda ekenligin biliwi kerek.
Izlew algoritmi a dep qabıllanıp, onda gilt a ǵa teń boladı. Bul berilgen algoritm hámme jazıwdı qaytaradı hám kórsetkish bolıp esaplanadı. Bul nátiyjeli izlep tabıw dep ataladı. Bárhama izlew nátiyjeli bola bermeydi. Bunday jaǵdayda kórsetkish bos bolıp, bos jazıw shıǵadı. Bunday jaǵdayda qandayda bir kemshilik jiberilgen bolıwı da múmkin. Eger izlew nátiyjesiz juwmaqlansa qosımsha jazıw qızıǵıwshılıǵı payda boladı. Bul funkciyanı orınlaytuǵın algoritm izlew hám qosımsha kiritiw algoritmi dep ataladı.
Bazı bir jaǵdaylarda birinshi giltke key belgisin qoyamız. Sebebi, usı giltsiz keyingi izlewdi jazıw kerek. Bunda keyingi faylda bunday jazıw bolmawı kerek. Endi hár qıylı algoritmlerdi izertlewimiz múmkin. Bunda oqıwshı ózine belgilep qoyıw kerek, bul izlewge kireme?, qosımsha kiritiwge me yamasa qosımshalı izlewge kireme?.
Aytıp ótiw kerek tablicada yamasa fayldıń dúzilisi haqqında hesh nárse aytılmaǵan. Bul jazıw massivi, aǵash yamasa hátteki graf bolıwı da múmkin. Bunda tablica anıq izlew usılı boyınsha dúziledi. Ayırım massivke qosımsha kiritiw izbe-iz izlew usılın qollanıw maqsetinde bul massiv ushın jeterli yad ajıratıw kerek.
Baylanıslı dizim túrindegi tablica dúziw ushın bul tablicanıń kólemi qálegenshe úlkeytilgen halda bolıwı kerek. Sızıqlı baylanıslı dizim tablicasın dúziw ushın ózgermeli table kórsetiledi. Bular arasındaǵı baylanıs kórsetkishi nxt arqalı iske asırıladı. k, r, key joqarıda atap ótkenimizdey anıqlanadı hám tómendegishe belgilenedi:
q = null p = table
while ( p <> null) do
if k( p) = key then search = p return
endif
q = p p = nxt( p)
endwhile degen jazıwlar kiritiliw kerek s = getnode
k(s) = key r(s) = rec nxt(s) = null
33
if q = null then table = s else nxt(q) = s endif
search = s return
Bir-biri menen baylanısqan dizimde jazıwdı óshirip taslaw ańsat. Al massivten elementti alıp taslaw ushın ortasha jartı elementlerdi qayta jayǵastırıw kerek boladı

(ne ushın?).
Massivten jazıwdı alıp taslawdıń nátiyjeli usılı flag(i) di hár bir jazıwǵa qosıw kerek boladı. i poziciyasında jazıw ornatılsa flag ornatıladı. Jazıw poziciyada ! bolsa flag degeni ashıp taslanadı. Jańa jazıwlar massiv aqırında kiritiledi. Eger kóp qosımshalar massivtegi ashıqlıqtı joǵaltsa. Eger massivke jańa jazıw kiritiw kerek bolsa hám orın bolmasa onda, flaglar túsirilip taslanǵan jazıwlardı joq etiw arqalı tıǵızlanadı. Bunı biz dáslep hámmesi durıs jazılǵan massiv, soń jańa jazıwlar ushın orını bar massivlerdi beredi. (Bunda basqa programma jazıw ornınan baylanıssız, onıń poziciyası házir ózgergen ekenligine iseniwimiz kerek boladı). Eger jazıw tártibi ózgertilgen bolsa jazıwdı ózgertiw arqalı orınlanbaydı.
Massivti tıǵızlaw shárt emes usılları da bar. Bunda jazıw birinshi jazıwdıń ústine túsedi, flag túsirilgen bolıwı kerek. Bul qosımsha keńislikti talap etpeydi. Sebebi, túsirilgen jazıwdaǵı xabar haqıyqıy emes. Bul jazıwdaǵı erkin dizim qosımsha kiritiwde júdá qolay bolıp esaplanadı. Biraq bul usıl aytarlıqtay nátiyje bermeydi. Sebebi biz bir túrdegi gilt penen jazıwdı izlep atırmız.
Maǵlıwmatlardı izlewdiń effektivligin asırıw usılları
Izbe-iz izlewler effektivligi qanday? Berilgen giltti teńlestiriw sanın tekserip kóremiz. Eger qosımsha kiritip, shıǵarıp taslaytuǵın jerleri bolmasa hár dayımǵı kóleminde iske asırıladı. Tablicada gilt jazıwı izlew argumenti menen teń boladı. Bul jazıw tablicada aqırǵı bolsa, onda bul bir teńlik penen orınlanadı. Eger argument
tablicadaǵı qálegen poziciyaǵa tússe, effektivli izlew (n +1)/ 2 teńewinde ámelge asırıladı. Nátiyjesiz izlew n teńewin talap etedi. Hár qanday jaǵdayda teńlew sanı O(n)
qatar sanına iye boladı Ayırım argumentler izlew algoritmi ushın basqalarına qaraǵanda kóbirek beriledi. Mısalı avtomobillerdi esapqa alıw faylında nızamdı húrmet etiwshi adamlar haqqında emes, al nızamdı buzıwshılar, salıqtan bas tartıwshılar haqqında maǵlıwmatlar jazıwı boladı. Eger qollanılıwshı jazıwdı fayldıń basına jaylastırsa, teńew sanı qısqaradı, sebebi izlew jazıwı az waqıt
talap etedi. p(i) 0 menen 1 arasındaǵı san bolsa, izlew m bolsa, onda m* p(i) boladı. p(1) + p(2) + ... + p(n) = 1
tablicada argument gilti bolmaydı. Bunda
p(1) + 2 >> p(2) − b3* p(3) + ...+ n * p(n) bul san minimallastırıladı, eger p(1) > p(2)^ p(3) > ... > p(n)
Solay e tip, berilgen úlken hám ózgermeytuǵın faylda bul fayl tártibi ózgertiw
arqalı izlew óz natiyjesin beredi. Bul usılda hár bir jazıwdan soń p saqlanıwı ushın qosımsha keńislik boladı.
Maksimal effektivlikke erisiw
Eger tablicada kóplegen alıp taslawlar, qosımshalar islew lazım bolsa, onda effektivlik ushın
tómendegi jagdaydı qollanamız.
)
p(1) > p(2)^ p(3) > ... > p(n bul elede ańsat boladı. Eger jańa elementti óz ornına qoysaq prob jazıwın r(i) hám r(i +1) p(1)^ prob > p < i − f 1) halında qoyamız.
34
Bazı bir jazıwlar waqıttıń ótiwi menen ózgeredi. Mısalı joqarıda keltirilgen student mısalı. Bul student 1-kurs, keyin 2-kurs, keyin 3-kurs, soń aqırǵı kurs studenti
boladı. Sonıń ushın qandayda bir aloritm jazıwdıń aqırı menen basına jıljıytuǵın bolıwı kerek. Bunda bir neshe usıllardan paydalanamız. Bulardan biri orın ózgertiw
usılı. Bunda argument gilti jazıwdıń basına jaylastırıladı. key -izlew argumenti, kig -gilt hám jazıw tablicası. Ózgermeli table dáslepki túyinge kórsetkish boladı.
p = table
q = null 'q p dan keyin bir qádem jaylasadı
s = null 's p dan keyin eki qádem jaylasadı while ( p <> null) do
if k( p) = key
then
bizler jazıwdı taptıq. Jazıwdı orınları menen ózgertemiz buǵan p hám q
kórsetedi
if q = null
then Bizler gilttiń tablicanıń 1-poziciyasında jaylasqanın taptıq, transpoziciya
kerek emes.
search = p
return endif
nxt(q) = nxt( p) nxt( p) = q
if s = null
then table = p else nxt(s) = p endif
search = p return
endif
s = q q = p
p = nxt( p) endwhile search = null return
Transpoziciya usılı shınıǵıwın massiv hám dizim basına qayta ornalastırıw-kóshiriwdi ámelge asırıwdı usınamız.
Eki usılda da jazıw qaytadan shıǵarıladı. Bunda jazıwdı tablicanıń basına shıǵarıw
nátiyjeli esaplanadı. Aldıńǵı jazıwlarǵa biz izlewdi azaytamız. Transpoziciya metodı kóshiriw usılına qaraǵanda nátiyjeli esaplanadı. Biraq bul usıl kóbirek waqıt talap etedi. Sonıń ushın bul eki usıldı aralas qollanıwdı usınıs etemiz. Dáslep kóshiriw, keyin transpoziciya usılın qollanıw paydalı. Bul usıl tablica hám dizim formasındaǵı dúziliste de qollanıladı. Eki elementtiń massivte transpoziciya qılınıwı nátiyjeli operaciya esaplanıladı. Sebebi kóshiriw usılında elementlerdiń yarımı kóshiriliwi kerek boladı. Biraq kóshiriwshi element massivtiń birinshi
35
yarımında jaylasqan boladı. Faylda ushırasqan gilt mánisi jaǵınan úlkeytilgen giltten tańlap alınǵan bolsa, berilgen gilt faylda qatnaspaydı.
Izlewdi olar qayta islemesten de burın jıynawǵa boladı. Mısalı kóp ǵana sorawlar bir kún keyinge de qaldırıladı. Bunday jaǵdayda izlew tún boyına ámelge asırıladı, bunda jańa sorawlar kelip túspeydi. Eger tablicada, dizimde tańlanılǵan bolsa izbe-iz izlew bir waqıttıń ózinde de tablica boyınsha da, dizim boyınsha da hár bir elementti kelgen jerinen baslap izlene beredi.
Solay etip, izlewdi tablicanıń barlıǵın soramastanda ámelge asırsa boladı (eger sorawnama, tablicadaǵı elementlerden az bolsa) yamasa bir ǵana teńewde jetkilikli (eger sorawnama, tablicadaǵı elementten kóp bolsa). Bunday waqıtta izbe-iz izlew effektivli usıl esaplanadı.
Qayta islenetuǵın fayl onda izlew baslanbastan burın qayta islense izlew ele de ápiwayı hám effektivli boladı. Bul joqarıdaǵı abzacta «bas» fayl hám «tranzakciya»lı úlken fayldaǵı sorawnamalardı kórgen jaǵdayımızda orınlı boladı.
Lekciya -17. Maǵlıwmatlardı izlew algoritmleri túrleri.
Indeksli izbe-iz izlew.
Izlew nátiyjeligin arttırıw faylda jáne bir usıl arqalı erisiledi, biraq bul talap etiletuǵın keńislikti úlkeytiwdi talap etedi. Bul usıl indeksli izbe-iz izlew usılı bolıp esaplanadı. Tańlanılǵan faylǵa indeks dep atalıwshı kómekshi tablica qosıladı. Indekstegi hár bir element kindex giltinen hám fayl jazıwına kórsetkishten
turadı, ol kindex giltine sáykes keliwi kerek. Indekstegi elementler fayldaǵı elementler sıyaqlı qayta tańlanǵan bolıwı kerek. Eger indeks fayl ólsheminen segizden bir bólegin quraytuǵın ólshemine iye bolsa, segizinshi jazıw fayldıń birinshi indeksinde
kórsetiledi. Bul 1-súwretinde kórsetilgen.

1–súwret. izbe-iz indeksli fayl.
36
Indeksli izbe-iz izlew fayl algoritmi ápiwayı. Meyli r, k hám key aldınǵıday
kindex
massa gilti bolsa, pindex ishki indekstiń fayl jazıwına kórsetiwshi massiv boladı.
Meyli oylayıq berilgen fayl massiv túrinde berilse n -bul fayl ólshemi, indxsze indeks ólshemi boladı.
i = 1
while (i <= indxsze) and (kindex(i) <= key) do i = i +1
endwhile lowlim di tablicadaǵı elementtiń eń kishkene poziciyasına ornatamız.
if i = 1
then lowlim = 1
else lowlim = pindex(i −1)
endif hi lim tablica elementiniń eń joqarı poziciyasına ornatamız if i =
indxsze +1
then hi lim = n
else hi lim = pindex(i) −1