veri yapıları logo

Veri Yapıları İnfix Prefix Postfix Notasyonları

Merhaba arkadaşlar. Bu yazımda genellikle bilgisayar ve yazılım mühendisliğinde gösterilen Veri Yapıları dersinin ilk konularından olan İnfix, Prefix, Postfix Notasyonlarının tanımına ve örneklerine bakacağız.

İnfix

Sürekli kullandığımız (3+4), (8*5+2) gibi işlemlerin yazım şekline infix denilmektedir. (“Sayı” “İşlem” “Sayi”) şeklindedir ve bilgisayar tarafından çözümlemesi yavaştır. Bilgisayarın asıl işlemci tarafı Postfix ve Prefix şeklinde çalışmaktadır. Hemen onlara da bakalım..

Prefix

Bilgisayarın İnfix yazım türüne göre daha hızlı çözümlenen bir yazım şeklidir. Bu yazım şeklinde önce İşlem ifadesi (operatör) gelmektedir. 3 ve 4’ün toplamı (+ 3 4) gibi ifade edilmektedir.

Postfix

Yine Infix türüne göre daha hızlı çözümlenen bir yazım şeklidir. Bu yazım şeklinde ise operatör sayılardan sonra gelmektedir. Örnek olarak 12 ve 8’in çarpım işlemi (12 8 *) şeklindedir. Aslında Prefix ve Postfix’in hızlı olmasının bir nedeni de İnfix’de kullanılan parantezlerin kullanılmasına gerek kalmamaktadır.

Kısaca tanımlar anlaşıldı ise şimdi de örneklere geçelim daha iyi anlaşılabilsin.

İnfix’den Prefix’e Dönüşüm

((A + B)* (C+D)) şeklinde verilen bir İnfix ifadesini Prefix’e dönüştürelim.

1.Durum: ( + A B * (C +D))

2.Durum: * + A B (C +D)

3.Durum: * + A B + C D şeklinde Prefix ifadeyi elde etmiş oluruz. Hemen sayısal da bir örnek verelim

Örnek: (( 6 / 3) + (8 – 2))

1.Durum: ( / 6 3 + (8 – 2))

2.Durum: + / 6 3 (8 – 2)

3.Durum: + / 6 3 – 8 2

şeklinde son ifademizi elde etmiş olduk. Ve dikkat etti iseniz parantezlerden de kurtulmuş olduk.

İnfix’den Postfix’e Dönüşüm

(((A + B)* C)-((D+E)/F)) şeklinde verilen bir ifadeyi Postfix’e dönüştürelim.

1.Durum: (( A B + * C ) – ((D + E )/ F))

2.Durum: ( A B + C *  – ((D + E) / F))

3.Durum: A B + C *  ((D + E )/ F) –

4.Durum: A B + C *  (D E +/F)-

5.Durum: A B + C * D E + F / –

şeklinde son postfix ifademizi elde etmiş olduk. Eğer işlemleri adım adım takip edebilirseniz hata yapma olanağınız azalır.  Şimdi bir de sayısal bir örnek yazalım.

Örnek: ((( 3 * 2)/2)+((8 / 4)+2))

1.Durum: (( 3 2 * /2) + (( 8 / 4) + 2 ))

2.Durum: ( 3 2 * 2 / + (( 8 / 4 ) + 2))

3.Durum: 3 2 * 2 / (( 8 / 4 ) + 2) +

4.Durum: 3 2 * 2 / ( 8 4 / +2)+

5.Durum 3 2 * 2 / 8 4 / 2  + +

şeklinde son durumu elde ettik. Burada da parantezlerden kurtulduk. Veri yapıları dersi için umarım faydalı olmuştur kolay gelsin.

 

 

 

Bir cevap yazın