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

BSQ (Biggest Square)

Engellerle dolu çok büyük iki boyutlu haritalar üzerinde, haritadaki engellere çarpmayan en büyük boş kareyi dinamik programlama algoritmaları kullanarak en kısa sürede bulan ve görselleştiren optimize bir C yazılımıdır.

C Programming Algorithms Dynamic Programming Big Data Parsing Matrix Manipulation Time Complexity Optimization Memory Management Low-Level I/O

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.