Menü Kapat

 

Alqoritmlərin keyfiyyətinə bilavasitə təsir göstərən faktorlardan biridir. Məşhur İsveçrə alimi Niklas Virt Paskal dilinin yaradıcısıdır.Belə bir formul təklif etmişdir.

Proqram=Alqoritm + Verilənlərin strukturu + Kod

Hər  bir alqoritm müəyyən strukturda yerləşdirilmiş elementlər üzərində əməliyyatları yerinə yetirir.

Strukturun forması alqoritmə təsir göstərir.

Tərif1

Sturuktur dedikdə müəyyən elementlər çoxluğu və onlar arasında münasibətlər və əlaqələr forması başa düşülür.Sturukturlar 2 yerə bölünür. Statik və dinamik strukturlar.

Statik strukturlara misal göstərə bilərik :   1 Massivlər        2 Yazılar   3 Növlər və başqaları.

Dinamik strukturlara misal göstərə bilərik :   1.stek    2 Növbə    3 Siyahı   4 Ağaclar və başqaları.

Statik strukturlar proqramın başlanğıcından sonuna qədər quruluşunu dəyişməyəndir. Yalnız sturukturların daxili qiyməti dəyişir.Dinamik strukturların həm daxili qiyməti , həm də quruluşu dəyişir.

Dinamik strukturların əsas əməliyyatları

1. Search-axtarış

2 .İnsert-struktura elementin daxil edilməsi

3 .Delete-Strukturdan elementin silinməsi

4 .Max-strukturun ən böyük elementinin tapılması

5 .Min-strukturun ən kiçik elementinin tapılması

6 .Successor

7. Predecessor

     Stek Strukturu 

Proqramlaşdırmada geniş istifadə olunan böyük əhəmiyyətə malik bir strukturdur.Demək olar ki, kompilyatorların hamısında Stek sturukturlarından istifadə olunur. Əks Polşa yazısı Stek Sturukturları vasitəsilə həyata keçirilir.

STEK Nədir?!   -Mənası yığım deməkdir. 

Tərif2. Stek dedikdı elə strukturlar başa düşülür ki , buraya axırıncı daxil olan element strukturu birinci tərk etmiş olsun . Buna Stek deyirik . Stekdə LİFO( Last İn First Out) prinsipi həyata keçirilir.

Məs: avtobusa axırıncı minib birinci düşürük

Steklərdə əsas 3 funksiya yerinə yetirilir.

1 Push < > Insert  daxilolma

2 Pop < > Delete  Çıxarılma

3 Stack.empty  boşdu , boş deyil

Stek strukturu üçün elementlərin strukturun daxilində yerləşmə forması , növləri və s;  önəmli deyil. Burada əsas elementlərin struktura daxil olması və strukturu tərk etməsi formasıdır. Strukturlar proqramlaşdırmada əsas aşağıdakı üsullarla modelləşdirilir :

1 Massivlər              2.Siyahılar                                    3.Siniflər                                       4.Şablonlar

ERRORS   1.Underflow       2.overflow

Əgər stek boşdursa və boş stekdə pop funksiyası vasitəsilə element almaq istəyiriksə bu underflow səhvinin baş verməsinə səbəb olur.

Əgər stekə push funksiyası vasitəsilə element daxil etmək istəyiriksə və stekdə yer yoxdursa onda overflow səhvi baş verir.

Stekin əsas funksiyalarının psevdokodu 

Stack.Empty(S)

1   if S.top==0

2   return TRUE

3 else return FALSE    // stek boşdursa true , deyilsə false

push(S,X)         // push elementi daxil edir

1 S.top=S.top+1

2 S.top>n

3 return error”overflow” // Yəni ki, stek dolub daşır. elementi qoymağa boş yer yoxdur.

4 else S[S.top]=X

Pop(S)        //pop elementi  çıxardır!

  1. if  stack.Empty(S)       //stek boşdursa götürmək olmaz
  2.  return error “underflow” // error verir
  3. else S/top=S/top – 1 // çıxardırıq yuxarıdakına görə
  4. return S[S.top +1]    // sonra 1 elemet üstünə gəlib çapa veririk.