YMT219: Veri Yapıları - Prof. Dr. Asaf VAROL

Download Report

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