Yıllık Arşivler: 2016

İkili Ağaçlar Üzerinde Dolaşma Nasıl Yapılır?

İkili ağaç üzerinde dolaşma birçok şekilde yapılabilir Ancak, rastgele dolaşmak yerine, önceden belirlenmiş bir yönteme, bir kurala uyulması algoritmik ifadeyi kolaylaştırır. Üstelik rekürsif fonksiyon yapısı kullanılırsa ağaç üzerinde işlem yapan algoritmaların tasarımı kolaylaşır. Önce-kök (preorder), kök-ortada (inorder), sonra-kök (postorder) olarak adlandırılan üç değişik dolaşma şekli çeşitli uygulamalara çözüm olmaktadır. 1- Preorder (Önce Kök) Dolaşma: Önce>>>

Postfix ifadesinin stack kullanılarak hesaplanması

3 2 * 5 6 * + postfix ifadesini stack kullanarak hesaplanması: Çözüm algoritması şöyle olmalıdır; 1- Bir operandla karşılaşıldığında o operand stack’e eklenir, 2- Bir operatör ile karşılaşıldığında ise o operatörün gerek duyduğu sayıda operand stack’ten çıkarılır, 3- Daha sonra pop edilen iki operanda operatör uygulanır, 4- Bulunan sonuç tekrar stack’e eklenir. Kaynak: Hakan>>>

INFIX, PREFIX VE POSTFIX NOTASYONLARI

Bilgisayarlarda infix yazım türünün çözümlenmesi zordur. Acaba x=a/b−c+d*e−a*c şeklindeki bir ifadeyi çözümlerken, ((4/2)−2)+(3*3)−(4*2) gibi bir ifadenin değerini hesaplarken ya da a/(b−c)+d*(e−a)*c gibi parantezli bir ifadeyi işlerken derleyiciler sorunun üstesinden nasıl geliyor? 32*(55-32-(11-4)+(533-(533-(533+(533-(533+212)))*21-2))) gibi birçok operatör(+, -, /, *, ^) ve operand(A, B, C… gibi isimler ya da sayılar) içeren bir işlemde nasıl operatör önceliklerine göre>>>

Veri nedir? Bilgi nedir?

Veri, bilgisayar ortamında sayısal, alfasayısal veya mantıksal biçimlerde ifade edilebilen her türlü değer (örneğin; 10, -2, 0 tamsayıları, 27.5, 0.0256, -65.253 gerçel sayıları, ‘A’, ‘B’ karakterleri, “Yağmur” ve, “Merhaba” stringleri, 0,1 mantıksal değerleri, ses ve resim sinyalleri vb.) tanımıyla ifade edilebilir. Bilgi ise, verinin işlenmiş ve bir anlam ifade eden halidir. Örneğin; 10 kg, -2>>>

Algoritmalarda Karmaşıklık ve Algoritmaların Karşılaştırılması

Algoritma, bir problemi çözmek için izlenen sistematik işlemler kümesi anlamındadır. Bir sorunu çözmek için belirli bir algoritmayı izledik diyelim, peki bu algoritma bizi ne kadar uğraştırdı? Daha verimli bir şekilde sorunumuzu halledebilir miydik? Bu soruları cevaplayabilmek için ilk önce “verimlilik” (efficiency) kavramının biraz oturması gerek. Günlük hayattan örnek vermek gerekirse, apartman kapısından eve ulaşabilmek için>>>

UML Nedir? UML ne işe yarar? UML’nin faydaları nelerdir?

UML (Unified Modelling Language, Birleşik Modelleme Dili) yazılım modellenmesi ve planlanması için kullanılan standart bir dildir. UML, yazılım ağırlıklı bir sistemi ve bu sistemin parçalarını gözde canlandırmak, belirtmek, kurmak ve belgelemek için kullanılabilir. Kurumsal bilgi sistemlerinden, dağıtımlı ağ-tabanlı uygulamalara ve gerçek zamanlı gömülü sistemlere kadar birçok sistemi modellemek için uygun bir dildir. UML bir programlama>>>

Model Nedir ve Neden Modelleriz?

Model, gerçeğin basitleştirilmiş halidir. Yani, karmaşık bir sistemi modelleyerek onu daha basit bir dille ifade edebiliriz; böylece geliştirmekte olduğumuz sistemi daha iyi anlayabilir ve olası hatalarımızı uygulamaya geçirmeden görebiliriz. Aslında, kendimiz için küçük bir kulübe yapmak istersek birkaç ağaç, biraz da saman yeterli olacak ve sonunda işe yarar bir yapı çıkacaktır. Ufak tefek hatalar olsa>>>