Anasayfa » Arşiv

Aralık 2011 Tarihli Yazılar

Algoritmalar, Veri Yapıları »

[30 Ara 2011 | 2 Yorum | 27.903 kez okundu]
1 Star2 Stars3 Stars4 Stars5 Stars (2 oy,5 üzerinden : 4,00 )
Loading...
Breadth First Search ve Depth First Search Algoritmaları

Breadth first search ve depth first search algoritmaları graph larda gezinme ve arama algoritmalarıdır.
Bu graphlarda ilişkiler iki şekilde tutulabilir. İki boyutlu array ve linked listler ile
Breadth First Search  (Sığ Öncelikli Arama)
BFS (breadth first search) algoritmasının çalışma mantığı şu şekildedir. Verilen bir node dan başlayarak ilgili node un tüm komşuları gezilir. Daha sonra gezilen komşuların komşuları gezilerek verilen graph gezilmiş olur.
Algoritma

Fonksiyona gönderilen node kuyruğa atılır.
Kuyruk boşalıncaya kadar döngü sürdürülür.
Sıradaki node kuyruktan çıkarılır.
Çıkarılan node daha önce gezilmemiş ise, gezildi işareti konur ve gezilmemiş komşuları kuyruğa konur.

Pseudo kodunu şöyle yazabiliriz.

Alttaki şekil de verilen …

Devamını oku...

Csharp »

[16 Ara 2011 | Bir Yorum | 10.989 kez okundu]
1 Star2 Stars3 Stars4 Stars5 Stars (3 oy,5 üzerinden : 4,33 )
Loading...
C# ile Local Mysql Veritabanı Bağlantısı

Bu yazımda c# uygulamaları ile mysql veritabanlarının nasıl kullanıldığını gösteren bir kaç komut yazacağım. C# ile mysql veritabanı kullanan uygulamalar yazabilmek için bazı ayarlar yapmaya ihtiyaç vardır. Bu ayarları ve gerekli programları daha önceki yazılarımda anlatmıştım . Buradan  o ayarlara ve programlara ulaşabilirsiniz.
Bugünkü yazımda ise localhost kullanacağız. Localde mysql kullanmak için mysql i bilgisayarınıza kurmanız gerekmektedir. Ben wampserver kullanarak  bu sorunu hallettim. Kod üzerinde geçerli açıklamaları yaptım.
Form application yaptığımız için ekran görüntüsü üzerinde hangi elemanların hangi name ler ile kullanıldığını yazdım.

Örnek çalışma görüntüsü şu şekildedir

Rica: Sitemizin Google’da daha üst sıralarda …

Devamını oku...

Algoritmalar »

[16 Ara 2011 | Yorum Yok | 5.208 kez okundu]
1 Star2 Stars3 Stars4 Stars5 Stars (2 oy,5 üzerinden : 5,00 )
Loading...
Kırmızı – Siyah Ağaç Yapıları ( Red – Black Trees) C Kodu

Merhaba arkadaşlar, bu yazımda daha önceden bahsettiğim red black tree lerin c kaynak kodlarını paylaşacağım.  Eğer red black tree ler ve algoritması hakkında bilgi sahibi olmak istiyorsanız önceki yazımı buradan okuyabilirsiniz.
Red black tree lerin c kaynak kodu şu şekildedir. Kodumuzda binary insert, binary fix up, left rotate, right rotate, inorder print gibi fonksiyonlar bulunmaktadır.
Kodumuzu çalıştırdığımızda iki seçenek sunmaktadır. İster belirlediğimiz sayıları kendimiz girebiliriz, istersek belli bir sayıyı otomatik yerleştirmesini söyleyebiliriz.
En kısa sürede red black tree lerin java kodlarını da paylaşacağım
Rica: Sitemizin Google’da daha üst sıralarda çıkması için lütfen alttaki Google+ …

Devamını oku...

Algoritmalar »

[14 Ara 2011 | Yorum Yok | 6.793 kez okundu]
1 Star2 Stars3 Stars4 Stars5 Stars (Henüz hiç oy kullanılmadı. İlk oyu siz verin.)
Loading...
Dinamik Programlama (Dynamic Programming) – En Kısa Yol Problemi

Arkadaşlar bu yazımda, matematik ve bilgisayar bilimleri alanlarında karmaşık problemleri çözmek için kullanılan bir metoddan bahsedeceğim. Ardından metodla alakalı bir problem olan en kısa yol probleminin çözümünü  ve ilgili c kodlarını yazacağım.
Dinamik programlama, karmaşık bir problemi daha alt problemlere bölerek çözmeye çalışan yöntemdir. Bu işlem sırasında elde edilen veriler bir yere kaydedilerek. Daha sonra ihtiyaç olduğunda tekrar hesaplamak yerine buradan kullanılır ve zamandan kazanç elde edilir.
Bir problemi dinamik programlama yöntemiyle çözebilmek için bazı şartlar vardır. Şöyle ki:

En iyi çözümün alt çözümleri de en iyi olmak zorundadır.
Var olan karmaşık problemi daha …

Devamını oku...

Csharp »

[8 Ara 2011 | Yorum Yok | 4.408 kez okundu]
1 Star2 Stars3 Stars4 Stars5 Stars (Henüz hiç oy kullanılmadı. İlk oyu siz verin.)
Loading...
Csharp ref, out ve params Kullanımı

Bugünkü yazımda sizlere c# da kullanılan ref, out ve params keywordlerinin kullanımından  bahsedeceğim.
Genel olarak programlamada iki türlü değişkenler vardır.

Deger (value) tipinde
Referans tipinde değişkenler

Değer tipindeki değişkenler bellekte deger olarak tutulurken, referans tipindeki değişkenler bellekte adres olarak tutulurlar. Eğer siz bir metoda normal (deger) tipte bir değişken yollarsanız, gönderdiğiniz değer için metod içerisinde aynen bir kopya oluşturulur ve bu kopya üzerinden işlem yapılır. Yani sizin orjinal değerinizide değişiklik olmaz. Metod geriye döndüğünde değerinizin değişmediğini görürsünüz.
Referans tipinde değişken gönderdiğinizde ise degerin kendisi yerine bellek adresi gönderilir. Böyle olunca bellek adresi kopyalansa bile yine …

Devamını oku...

Csharp »

[7 Ara 2011 | Yorum Yok | 4.359 kez okundu]
1 Star2 Stars3 Stars4 Stars5 Stars (Henüz hiç oy kullanılmadı. İlk oyu siz verin.)
Loading...
Csharp Property Nedir, Nasıl Kullanılır?

Csharp ile kod yazarken sınıf içerisindeki private değişkenlere erişim sağlamak için get ve set metodları yazarız. Property ler işte bu noktada devreye giriyor. Get ve set metodu yazmadan private elemanlara erişmemizi sağlıyor.
Örnek olarak yazımızın ilerleyen kısımlarında hazırlayacağımız faktoriyel classının temellerini atalım
Gördüğümüz gibi private değer olan factoriyel_degeri değişkenini get ve set propertyleri yardımıyla kullanabiliyoruz. Kodumuzu denemek için main classımızı yazalım
Main metodumuzun içerisinde faktoriyel değişkenini sanki public değişkenmiş gibi kullanabiliyoruz.  Şimdi faktoriyel classımızda bazı kontroller yapalım, Örneğin faktoriyel değerimiz sıfıdan küçük olmasın.
Peki faktoriyel classı yazdık, görevini yerine getirsin öyleyse, get propertysi içine de …

Devamını oku...

Csharp »

[3 Ara 2011 | 4 Yorum | 4.505 kez okundu]
1 Star2 Stars3 Stars4 Stars5 Stars (Henüz hiç oy kullanılmadı. İlk oyu siz verin.)
Loading...
Csharp Delegate (Temsilci ) Kullanımı

Delegate ler c# programlama dili kavramlarındandır. Delegate ler kısaca temsilcilerdir. Yani programımızdaki metodları gösteren referanslardır.
Delegate kullanmak için ilk olarak, class dışında namespace içinde tanımını yaparız.
Delegateler bulundukları namespace içindeki metodlara referans olurlar.
Delegate imizi nasıl tanımladıysak, sadece aynı arayüzdeki metodlara referans olabiliriz. Yani girdi ve return tipleri ve sayıları aynı olmak zorundadır.
Kullanmak için new sözcüğü ile yeni bir delegate oluşturur ve hangi sınıftaki metodu kullanacak isek,  sınıfın nesnesi ile metodu gösteririz.
Örnek bir kod şu şekildedir.
Program.cs
Test.cs
Burada Add ve Sub metodları, test classı içinde add ve sub olarak kullanılmıştır.
Rica: Sitemizin Google’da daha üst sıralarda …

Devamını oku...