Etiket: Data Structure

Pazar Kasım 10th, 2019

Bubble Sort

Merhabalar, daha önceki yazılarımda Selection ve Insertion Sort algoritmaları yazmıştım bu yazımda ise Bubble Sort algoritmasını yazmaya çalışacağım. Bubble Sort’un çalışma mantığı dizi içerisindeki en büyük elemanı bulup bütün elemanlarla karşılaştırarak en sona koyuyor ve daha sonra bu işlemi array sıralanana kadar devam ettiriyor.  Örnek vermek gerekirse şöyle bir array’imiz olduğunu düşünün array = [3,1,6,5,7,8,2,4] bu array’in sıralanması için şöyle bir yol izliyor: 3,1,6,5,7,8,2,4 -> karşılaştırılıyor eğer büyük […]

Perşembe Kasım 7th, 2019

Insertion Sort Algoritması

Merhabalar, bir önceki  yazımda Selection Sort(seçerek sıralama)’dan bahsetmiştim bu yazımda ise Insertion Sort algoritmasını kullanarak sıralama yapmaya çalışacağım. Insertion Sort algoritmasının çalışma mantığı array içerisinde bulunan ilk elemanı atlıyoruz yani en küçük olduğunu varsayıyoruz ve onun sağındaki elemanları da sıralı olduğunu düşünüyoruz ve kontrolünü yapıyoruz. Insertion Sort algoritmasının en iyi durumda ki karışıklığı n olurken en kötü durumda n2 ‘dir. Yaptığım örnek program üzerinden anlatmak gerekirse, varsayalım […]

Perşembe Kasım 7th, 2019

Seçerek Sıralama (Selection Sort)

Merhabalar, Seçerek sıralama algoritması ile array içerisinde küçükten büyüğe veya büyükten küçüğe sıralama yapabilirsiniz. Algoritmanın çalışma mantığı, Array içerisinde bulunan ilk elemana minimum diyoruz ve daha sonra array içerisinde for döngüsünü kullanarak eğer seçtiğimiz sayıdan küçük bir sayı varsa bu sefer onu minimum değişkenimize atıyoruz. Algoritma gayet basit. Algoritmaların karmaşıklığına göre sıralamaları oluyor, Seçerek sıralamanın karmaşıklığını n2 ile hesaplıyoruz. Bu algoritmayı örnek olması açısından hem C […]

Pazar Kasım 3rd, 2019

Stack

Merhabalar, Stack bir Abstract Data Type(ADT) yani Soyut Veri Tipindedir. Stack’lerde Son giren ilk çıkar(Last in First Out) veya ilk giren son çıkar(First in Last Out) şeklinde tanımlanır. Stackleri arraylerle veya linked list’lerle beraber kullanabiliriz. Ben bu örneğimde arrayler ile birlikte kullanacağım. Stack’in sahip olduğu 3 adet fonksiyonu ve geri döndüren özelliği vardır diyebiliriz. Bunlar; Push : Stack’e eleman eklememizi sağlar. Pop : Stack’den eleman […]

Pazartesi Ekim 28th, 2019

Bağlı Liste(Linked List)

Merhaba, Bağlı liste her elemanın ayrı bir nesne olarak tutan dogrusal bir veri yapısıdır. Array’ler static yapıdayken, Bağlı listeler dynamic yapıdadır. Arraylere yeni bir veri eklerken zorluk çekebiliriz ama bağlı liste kullanırsak istediğimiz yere istediğimiz veriyi ekleyebiliriz. Bağlı listelerde eleman sayısı kesin değildir, istediğimiz şekilde bağlı listeye eleman ekleyebilir veya çıkartabiliriz. Bağlı listede elemanın bulunduğu yere node(düğüm) diyoruz.Eğer en son Node’da isek onun next’i NULL’ı […]