Geçen dönem aldığımız derslerden biri olan Algoritma Analizi’nin projesinde bizden iki ayrı görevin JAVA ile kodlanması, analiz edilmesi ve bunun raporlanıp grafiklerinin çizilmesi istenmişti.
Birinci Kısım
Projenin birinci kısmında iki tane sıralama algoritması belirleyip bu algoritmaları implement etmemiz bekleniyordu. Daha sonra rastgele yaratılan dizileri bu algoritmaları kullanarak sıralamamız ve zaman karmaşıklığı analizi yapmamız isteniyordu.
Biz bubble sort ve quick sort algoritmalarını seçtik. Rastgele üretilen 1000, 2000, 3000, … , 10000 elemanlı dizileri her iki algoritmayı da kullanarak sıraladık. (İki algoritmada da aynı diziler kullanıldı.)
Acaba bubble sort, algoritmanın püsüdokod hali analiz edildiğinde ortaya çıktığı gibi O(n2) miydi pratikte de? Ya da quick sort O(n log n)?
Sonuçlarımızı grafik ve data set haline getirdik ve kendi yorumlarımızı da içeren bir rapor yazdık. Yazının devamında hepsini bulabilirsiniz.
İkinci Kısım
Projenin ikinci kısmında ise bizden knapsack problemi için iki adet çözüm algoritması geliştirmemiz bekleniyordu. Bunlardan birisi exhaustive search, diğeri de dynamic programming yöntemli algoritmalardı.
İkisini de ayrı ayrı yazdık. Kapasite ve eleman değerlerindeki değişime göre iki algoritmadaki hız değişimlerini inceledik. Püsüdokodu inceleyerek yaptığımız analizle pratikte aynı algoritmaların ne kadar aynı sonucu verdiğini inceledik.
Bunun sonuçları da yine raporda yer alıyor.
Proje Hakkında Yorumlar
Proje hem çok uğraştırıcı değildi, hem de kodlama içerdiğinden çok zevkliydi, hem de bazı noktaları cidden kafa çalıştırmayı gerektiriyordu.
Rapor yazmak sıkıcıydı, rapor yazmak her zaman sıkıcıdır zaten. 🙂
Özetle: Şahane bir projeydi.
İndir
- Proje metni
- Kodların çalıştırılması ve programın kullanılması hakkında Beni Oku dosyası
- Kaynak kodları (Netbeans projesi halinde kaynak kodlar, örnek test dosyaları ve projenin derlenmiş jar java paketi halini içerir)
- Proje raporu
- Birinci kısım algoritmalarının verileri
- Birinci kısım algoritmalarının grafikleri
- İkinci kısım algoritmalarının veri ve grafikleri
Bitirirken
Bu yazı yayımlanmadan önce proje arkadaşlarımdan gerekli izinler alınmıştır.
Algoritma Analizi Projesi 3 yorum aldı.
Hocom sizin ub2 temanızı kullanmam için e mail adresime yollayabilir misiniz…Blog sitemde kullanmayı düşünüyorum
Hayır yollayamam. Bu tema paylaşıma açık değil.
Hadi len
Harici monitör parlaklığı klavye ile nasıl değiştirilir?
Almanya’da nasıl ehliyet aldım?
‘de, da’ eki nasıl yazılır?
Almanya’dan kalıcı oturuma izni (niederlassungserlaubnis) nasıl alınır?
Almanya’da nasıl ehliyet aldım?
Bir şirket neden uzaktan çalışmaya (remote working) izin verir?
-de -da eki ne zaman ayrı yazılır?
Almanya’ya gelmek için yapılan bürokratik işlemler