Sıralama algoritmalarında kararlılık nedir?

Sıralama algoritmalarında bazen kararlılık ile ilgili bir takım bilgiler görürüz.Kısaca açıklamak gerekirse, sırarısz bir dizide aynı değerlere sahip elemanların dizilişi, dizi sıralandığında da korunuyorsa algoritma kararlıdır.

Kararlı özelliğine sahip algoritmalar; Insertion sort, Merge sort, Bubble sort. Kararsız olanlar; Heap sort, Quick sort.

Ancak verilen kararlı olmayan aloritmalar kolayca kararlı …

more ...

Quick sort için en kötü durum nedir?

Quick sort ortalama zamanda çalıştığında en verimli çalışan ve en çok kullanılan algoritmalardan biridir. Pivot seçiminin ne kadar önemli olduğunu algoritmayı incelediğinizde göreceksiniz.

En kötü duruma sebebiyet veren şartlar aşağıdadır.

  1. Dizi zaten aynı yönde sıralıysa.
  2. Dizi ters yönde sıralıysa.
  3. Tüm elemanlar aynıysa
more ...

Apache Spark - Part 1 : Tanıtım

Apache Spark,büyük veri işleme amacı ile oluşturulmuş bir Apache projesidir.Scala dili ile yazılmış JVM üzerinde çalışan ve Python, Java, Scala kullanımına olanak sağlayan, "in-memory" yani veriyi bellek içerisinde işleme özelliği ile ön plana çıkan bir projedir.

Eğer isterseniz kaynak kodları görüntülemek için aşağıdaki adrese göz atabilirsiniz.

https://github …

more ...

Rastgele Sayı Üretmek

Rastgele yani tesadüfen , tesadüfi olarak , ayırmadan , seçmeden anlamındadır.Çoğumuz yazdığımız kodu test ederken , oyun programlarken ve çişitli hesaplamarda kullanırız rastgele sayıları.Günlük hayatta rastgele kavramı insalar için keyfi olarak kullanılır.Aklınızdan bir sayı tutup söylersiniz bu bir rastgele işlemidir.Peki gerçekten böylemidir,bilgisayarlar için de durum bu mudur?

Hep verilen …

more ...

Suffix Tree - String Algoritmaları

Biyoinformatik'de adı sıkça geçen algoritmalardan olan suffix tree veri yapısı bir dizgi model(pattern) eşleştirme algoritmasıdır.Örneğin elinizde uzun bir dizgi olsun ve siz bu dizgi içinde alt dizgiler aramak ve hatta bu dizgilerden kaç adet bulunduğunu öğrenmek istiyorsunuz.İşte bu veri yapısı bu işlemleri kolaylaştırmak ile birlikte gayet hızlı …

more ...

Radix Sort - Sıralama Algoritmaları

Türkçe'de taban sıralaması , basamaklı sıralama , kök sıralaması veya hane sıralaması olarak geçen bu algoritmada sıralanacak olan veriler hanelerine göre sıralanır.En değersiz olan haneden en değerli haneye doğru sıralama işlemi yapılır.

Sıralanacak verilerin tamsayı olduğu durumlarda kullanılan bu algoritma işlenirken ilk olarak sıralanacak olan veri kümesindeki elemanların en büyük elemanının …

more ...

Quick Sort - Sıralama Algoritmaları

Quick sort, Türkçe hızlı arama olan bu algoritma günümüzde en çok tercih edilen sıralama algoritmasıdır.1960 yılında C. A. R. Hoare tarafından ortaya atılmıştır.Bu algoritma yaklaşım bakımından "parçala ve çözümle" ilkesine göre çalışmaktadır.

Bu yaklaşım şu şekilde açıklanabilir.Eldeki problem çok daha ufak problemciklere ayrılır ve bütün bu problemcikler …

more ...

İlk iş kısa süreliler (Shortest Job First)

Bir önceki yazımda cpu zamanlama algoritmalarından olan fcfs algoritmasından bahsetmiştim.Asıl ismi "shortest next CPU burst algorithm" olarak geçen ve yine bir cpu zamanlama algoritması olan Shortest Job First(SJF) yani en kısa iş ilk algoritmasını inceleyelim.

Bu algoritmada belli bir sırada bekleyen işlerden önce kısa olanların işlenmesi amaçlanmıştır.Eğer …

more ...

Selection Sort - Sıralama Algoritmaları

Veri kümesinin sıralı olarak tutulması için geliştirilmiş en basit sıralama algoritmalarındandır.Türkçe'de seçmeli sıralama , seçerek sıralama şeklinde kullanılır.Geliştirilen uygulamalarda seçmeli sıralama kullanmak için düzgün bir analiz yapılması gerekir.Yer değiştirme sayısındaki sabitlik dolayısı ile büyük sayıda verinin bulunduğu uzun dosyalarda lineer zamanda sıralama yapılabilir.

Temel olarak işleyiş şu şekilde …

more ...