Slide background
Mersin Üniversitesi

Ders Bilgileri

VERİ YAPILARI VE ALGORİTMALAR
Kodu Dönemi Teori Uygulama Ulusal Kredisi AKTS Kredisi
Saat / Hafta
BM203 Güz 3 2 4 6
Ön Koşulu Olan Ders( ler ) BM102, BM103
Dili tr
Türü Zorunlu
Seviyesi Lisans
Öğretim Elemanı( ları ) Dr.Öğr.Üyesi Çiğdem ACI
Öğretim Sistemi Yüz Yüze
Önerilen Hususlar Yok
Staj Durumu Yok
Amacı Veri yapılarının ve algoritmalarının çalışma zamanı ve bellek gereksinimleri analizinin yapılması, temel sıralama ve arama algoritmalarının incelenmesi, sıralama ve arama algoritmalarının bellek gereksinimi ve çalışma zamanı açısından analizleri, bağlı listeler, yığın, kuyruk, ağaç ve çizge veri yapıları, ve bu veri yapılarının dizi ve işaretçi temelli programlamaları. Veri yapıları ile programlama uygulamaları.
İçeriği "Veri yapıları" ve "veri modelleri" kavramlarının tanımlanması. Algoritmaların çalışma zamanı ve bellek gereksinimi analizinin yapılması. Araya Ekleme Sıralaması, Seçmeli Sıralama, Kabarcık Sıralaması, Birleştirmeli Sıralama, Kümeleme Sıralaması, Hızlı Sıralama algoritmalar ve analizleri. Doğrusal arama, ikili arama ve çırpı araması algoritmaları ve analizleri. Bağlı listeler ve uygulamaları. Yığın ve kuyruk veri yapıları ve uygulamaları. Ağaç ve çizge veri modelleri ve uygulamaları.

Dersin Öğrenim Çıktıları

# Öğrenim Çıktıları
1 Veri yapılarının ve algoritmalarının çalışma zamanı ve bellek gereksinimleri analizini yapabilme yeteneğini kazanır
2 Bağlı listeler, yığın, kuyruk, ağaç ve çizge veri yapıları, ve bu veri yapılarının dizi ve işaretçi temelli programlamalarının öğrenilmesi ve bu veri yapılarının gerçek hayat problemlerinde uygulayabilir
3 Gerçek hayat problemlerini en etkin şekilde çözebilmek için hangi veri yapısı ve modelinin kullanılması gerektiğine karar verebilir ve bu veri yapısını uygulayabilir
4 Arama ve sıralama algoritmalarını öğrenir ve uygular.

Haftalık Ayrıntılı Ders İçeriği

# Konular Öğretim Yöntem ve Teknikleri
1 Veri yapısı ve veri modeli kavramlarının açıklanması, örnekler verilmesi Anlatım, tartışma
2 Program çalışma hızı ve bellek gereksinimi hesaplaması yöntemlerinin örnek programlar ile açıklanması Anlatım, tartışma
3 Program çalışma hızı ve bellek gereksinimi hesaplaması yöntemlerinin örnek programlar ile açıklanması Anlatım, tartışma
4 Sıralama algoritmaları ve analizi (araya ekleme sıralaması, seçmeli sıralama, kabarcık sıralaması algoritmaları ve karşılaştırılması) Anlatım, tartışma
5 Sıralama algoritmaları ve analizi (birleşmeli sıralama, kümeleme sıralaması, hızlı sıralama algoritmaları ve tüm sıralama algoritmalarının karşılaştırılması) Anlatım, tartışma
6 Ardışıl Arama ve İkili Arama algoritmaları, analizi ve uygulamaları Anlatım, tartışma
7 Ara Sınav Ölçme ve Değerlendirme
8 Çırpı arama algoritmaları, analizi, ve uygulamaları Anlatım, tartışma
9 Tek ve çift yönlü bağlantılı listeler ve uygulamaları Anlatım, tartışma
10 Yığın Veri Yapısı ve uygulamaları Anlatım, tartışma
11 Kuyruk Veri Yapısı ve uygulamaları Anlatım, tartışma
12 Ağaç Veri Modelinin tanımlanması Anlatım, tartışma
13 İkli Ağaç, Bağıntı Ağacı, Kümeleme Ağacı, Kodlama Ağaçları ve uygulamaları Anlatım, tartışma
14 Çizge veri modelinin tanımlanması Anlatım, tartışma
15 Çizge veri modelinin uygulamaları Anlatım, tartışma
16 Son Sınav Ölçme ve Değerlendirme

Resources

# Malzeme / Kaynak Adı Kaynak Hakkında Bilgi Referans / Önerilen Kaynak
1 C and and Java ile Veri Yapılarına Giriş Yazar: Olcay Taner Yıldız Yayınevi : Boğaziçi Üniversitesi Yayınevi T.H. Cormen, C.E. Leiserson, R.L. Rivest, "Introduction to Algorithms", The MIT Press, 1999. M.A. Weiss, “Data Structures and Problem Solving Using C++”, Addison Wesley, 2003.
2 T.H. Cormen, C.E. Leiserson, R.L. Rivest, "Introduction to Algorithms", The MIT Press, 1999.
3 M.A. Weiss, “Data Structures and Problem Solving Using C++”, Addison Wesley, 2003.

Ölçme ve Değerlendirme Sistemi

# Ağırlık Çalışma Türü Çalışma Adı
1 0.3 1 1. Ara Sınav
2 0.2 11 1. Laboratuar
3 0.5 5 Son Sınav

Dersin Öğrenim Çıktıları ve Program Yeterlilikleri ile İlişkileri

# Öğrenim Çıktıları Program Çıktıları Ölçme ve Değerlendirme
1 Veri yapılarının ve algoritmalarının çalışma zamanı ve bellek gereksinimleri analizini yapabilme yeteneğini kazanır 1͵2͵3͵4͵5͵7 1͵2͵3
2 Bağlı listeler, yığın, kuyruk, ağaç ve çizge veri yapıları, ve bu veri yapılarının dizi ve işaretçi temelli programlamalarının öğrenilmesi ve bu veri yapılarının gerçek hayat problemlerinde uygulayabilir 1͵2͵3͵4͵5͵7 1͵2͵3
3 Gerçek hayat problemlerini en etkin şekilde çözebilmek için hangi veri yapısı ve modelinin kullanılması gerektiğine karar verebilir ve bu veri yapısını uygulayabilir 1͵2͵3͵4͵5͵7 1͵2͵3
4 Arama ve sıralama algoritmalarını öğrenir ve uygular. 1͵2͵3͵4͵5͵7 1͵2͵3

Not: Ölçme ve Değerlendirme sütununda belirtilen sayılar, bir üstte bulunan Ölçme ve Değerlerndirme Sistemi başlıklı tabloda belirtilen çalışmaları işaret etmektedir.

İş Yükü Detayları

# Etkinlik Adet Süre (Saat) İş Yükü
0 Ders Süresi 14 5 70
1 Sınıf Dışı Ders Süresi (Ön çalışma, pekiştirme) 14 4 56
2 Sunum ve Seminer Hazırlama 0 0 0
3 İnternette tarama, kütüphane ve arşiv çalışması 0 0 0
4 Belge/Bilgi listeleri oluşturma 0 0 0
5 Atölye 0 0 0
6 Ara Sınav için Hazırlık 1 0 0
7 Ara Sınav 1 15 15
8 Kısa Sınav 0 0 0
9 Ödev 0 0 0
10 Ara Proje 0 0 0
11 Ara Uygulama 0 0 0
12 Son Proje 1 0 0
13 Son Uygulama 0 0 0
14 Son Sınav için Hazırlık 1 0 0
15 Son Sınav 1 15 15
156