Proje Detayları
Yazılım dünyasındaki klasik sıralama algoritmalarının ötesine geçerek, operasyonel kısıtlar altında en verimli algoritmayı kurgulama yeteneğini ölçen gelişmiş bir optimizasyon projesidir. Projede amaç; stack A ve stack B adında iki yığın kullanarak, sadece eleman döndürme (rotate), ters döndürme (reverse rotate), yer değiştirme (swap) ve yığınlar arası eleman gönderme (push) komutlarıyla en az hamlede sıralama yapmaktır.
Performans gereksinimlerini karşılamak, özellikle 100 ve 500 sayılık büyük veri kümelerinde en yüksek skoru (müfredat kriterlerine göre en düşük hamle sayısını) elde etmek amacıyla Radix Sıralaması (Radix Sort) veya Türk Algoritması (Turkish Algorithm / Mechanical Sorting) gibi gelişmiş yaklaşımlar analiz edilerek optimize edilmiştir. Proje sürecinde verileri efektif yönetebilmek adına çift yönlü bağlı listeler (doubly linked lists) veya dinamik diziler kullanılmış; girdilerin doğrulanması (hata yönetimi, mükerrer sayı kontrolü, integer sınır aşımı) süreçleri titizlikle kurgulanmıştır. Tüm mimari, bellek sızıntıları (memory leaks) tamamen önlenecek şekilde Valgrind ile test edilerek geliştirilmiştir.