Transcript YMT219: Veri Yapıları - Prof. Dr. Asaf VAROL
YMT219: Veri Yapıları
• Ders Saatleri: Pazartesi 9:15-12, 17:30-20:15 • Yer: Bil. Lab. -1 • Öğretim Görevlisi: • Notlandırma – 1 Ara sınav - %40 – Final – 60% – Proje/ödev – ???
Prof. Dr. Asaf VAROL 1
Ders Kitapları ve Yardımcı Kaynaklar
• Veri Yapıları ve Algoritmalar – Dr. Rifat ÇÖLKESEN – Papatya yayıncılık • Data Structures and Problem Solving Using Java – Mark Allen Weiss – Pearson International Edition • Intoduction to Algorithms – Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rıvers, Clifford Stein – The MIT Press • Ayrıca internet üzerinden çok sayıda kaynağa ulaşabilirsiniz.
2
Dersin Gereksinimleri
• Bu dersteki öğrencilerin Nesne tabanlı programlama dillerinden birisini(Java, C++) veya yordamsal programlama dillerinden birisini(C, Pascal) bildiği varsayılmıştır.
• Bilinmesi gereken konular: – Temel veri türleri (int, float) – Kontrol yapısı (if else yapısı) – Döngüler – Fonksiyonlar(Methods) – Giriş çıkış işlemleri – Basit düzeyde diziler ve sınıflar 3
Giriş (VERİ)
Algoritma
ALGORİTMA Çıkış (Sonuç) • Algoritma , belirli bir işi veya görevi var olan veya sonradan tanımlanan veri modeline dayandırılarak adım adım ortaya koymaktır.
• Verilen bir problemi çok farklı algoritmalar doğru bir şekilde çözebilir.
– Fakat özel bir algoritmanın seçilmesi zaman ve hafıza kullanımında önemli ölçüde değişikliklere neden olabilir.
4
Algoritma Türleri
• Yinelemeli Algoritmalar • Özyinelemeli (Böl & Yönet) Algoritmalar • Rastgele Algoritmalar • Açgözlü(Greedy) Algoritmalar • Dinamik Programlama • Yaklaşma Algoritmaları • Genetik Algoritmalar 5
Dersin Amacı
• Algoritma analizi için gerekli olan matematiksel altyapının oluşturulması • Çalışma süresi ve bellek kullanımı açısından farklı algoritmaların verimliliğinin karşılaştırılması • Standartlaşmış algoritmaların üzerinde çalışma ve bu algoritmaların yeni problemlerin çözümünde kullanılması 6
Ders İçeriği
• Asimptotik Notasyonlar – Yenilemeli ve özyinelemeli algoritmaların analizi • Sıralama and Seçme – Temel sıralama algoritmaları – Özyinelemeli sıralama algoritmaları – Seçme algoritmaları • Arama algoritmaları • Bağlantılı listeler ve uygulamaları – Yığın ve kuyruk yapısı 7
Ders İçeriği(devam)
• Ağaç veri modeli – İkili arama – B • Ayrık Küme Algoritmaları • Graf Algoritmalrı – Tanım ve gösterim – BFS, DFS – En kısa yol algoritması 8