Proje Detayları
Büyük veri kümelerini işleme, dosya girdi/çıktı (I/O) optimizasyonu ve algoritma verimliliği (Time/Space Complexity) konularına odaklanan yoğun bir algoritma projesidir. Projenin amacı, standart girdiden veya dosyalardan okunan, milyonlarca satır ve sütundan oluşabilen haritalar içerisindeki en büyük engelsiz kareyi bulmaktır.Performans gereksinimlerini karşılamak ve kaba kuvvet (Brute-Force) yaklaşımının getirdiği zaman karmaşıklığını aşmak adına, proje Dinamik Programlama (Dynamic Programming) yaklaşımıyla kurgulanmıştır. Geliştirilen algoritma sayesinde harita bellekte yalnızca bir kez okunarak (zaman karmaşıklığı ile) her hücrenin oluşturabileceği maksimum kare boyutu anlık olarak hesaplanmıştır. Standart C kütüphanelerinin (stdio.h vb.) yasak olduğu bu projede; düşük seviyeli bellek yönetimi, dinamik 2D array (matris) tahsisi, harita doğrulama (parsing/error handling) algoritmaları ve write fonksiyonu ile tamponlanmış hızlı çıktı yönetimi tamamen sıfırdan implemente edilmiştir.