0%
Ardovski ~ cmd
Ardovski ~ logs
CV'ye Dön
42 Türkiye Müfredat Projesi

Push_Swap

Sınırlı sayıda bellek alanı (iki adet yığın/stack) ve tanımlı özel operasyonlar kullanarak, kendisine verilen düzensiz sayı dizisini en minimum hamle sayısıyla sıralayan optimize bir veri yapıları ve sıralama algoritması projesidir.

C Programming Data Structures Sorting Algorithms Algorithm Optimization Stack & Queue Implementation Complexity Analysis Input Validation Valgrind

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.