Bu dersin sonunda öğrenciler; 1) Algoritma karmaşıklığı analizi ve karşılaştımayı öğrenir 2) Algoritma tasarım tekniklerini öğrenir 3) Etkili program geliştirme pratiği kazanır 4) Çizgeleri problem çözmede kullanma yeteneği kazanır
DERSİN VERİLİŞ BİÇİMİ
Yüz Yüze
DERSİN ÖNKOŞULLARI
Var( BİL265)
ÖNERİLEN DERSLER
Yok
DERS TANIMI
Algoritma etkinliği. Sonuşur gösterimi. Özyinelemeli ve özyinelemesiz algoritmalar. Açgözlü, böl ve yönet, dönüştür ve yönet, dinamik programlama algoritmaları. Temel çizge yapıları, işlevleri ve algoritmaları. Rasgele algoritmalar ve çözümlemeleri.
DERS İÇERİĞİ
HAFTA
KONULAR
1. Hafta
Algoritma etkinliği
2. Hafta
Sonuşur gösterimi
3. Hafta
Özyinelemeli ve özyinelemesiz algoritmalar
4. Hafta
Açgözlü programlama
5. Hafta
Açgözlü programlama
6. Hafta
Böl ve yönet, dönüştür ve yönet algoritmaları
7. Hafta
Böl ve yönet, dönüştür ve yönet algoritmaları
8. Hafta
Ara-sınav
9. Hafta
Dinamik programlama
10. Hafta
Dinamik programlama
11. Hafta
Temel çizge yapıları, işlevleri ve algoritmaları
12. Hafta
Temel çizge yapıları, işlevleri ve algoritmaları
13. Hafta
Rasgele algoritmalar ve çözümlemeleri
14. Hafta
Rasgele algoritmalar ve çözümlemeleri
ZORUNLU YA DA ÖNERİLEN KAYNAKLAR
1. Cormen, Introduction to Algorithms, 2.Ed. MIT Press, 2001 2. Gilles Brassard, Paul Bratley. Fundamentals of algorithmics. Prentice Hall, 1996. 3. D.R. Stinson, An introduction to the design and analysis of algorithms, Charles Babbage Research Centre, Winnipeg, Manitoba, 1987.