Ders Adı Kodu Yarıyıl T+U Saat Kredi AKTS
Veri Yapıları SGM 203 3 3 + 0 3 4
Ön Koşul Dersleri
Önerilen Seçmeli Dersler
Dersin Dili Türkçe
Dersin Seviyesi Lisans
Dersin Türü Zorunlu
Dersin Koordinatörü Doç.Dr. MUHAMMED FATİH ADAK
Dersi Verenler Doç.Dr. MUHAMMED FATİH ADAK,
Dersin Yardımcıları

Arş. Gör. Yasin Altunbaşak

Dersin Kategorisi Diğer
Dersin Amacı

Bu dersin amacı; verilerin bilgisayar belleğinde etkin, düzenli ve erişilebilir biçimde saklanmasını sağlayan temel veri yapılarını tanıtmak, bu yapıların çalışma prensiplerini ve kullanım alanlarını öğretmek, farklı problem türleri için uygun veri yapısının seçilmesini sağlamak ve öğrencilerin algoritmik düşünme, problem çözme ve verimli program geliştirme becerilerini geliştirmektir.

Dersin İçeriği

Temel veri türleri ve göstericilerden başlayarak diziler, özyineleme, ArrayList ve LinkedList yapıları, iki yönlü ve dairesel bağlı listeler, stack ve kuyruk veri yapıları ile bunların uygulamalarını kapsamaktadır. Ayrıca ağaç veri yapıları, ikili arama ağaçları, AVL ağaçları, heap sıralama, Huffman ağacı ile veri sıkıştırma, hashing yöntemleri ve harita veri yapıları ele alınarak farklı problemlerde uygun veri yapısının seçimi ve uygulanması üzerinde durulmaktadır.

Özel Koşullar
Sektör Desteği
Destekleyen Firma
Destekleyen Eğitmen
# Ders Öğrenme Çıktıları Öğretim Yöntemleri Ölçme Yöntemleri
1 Veri ve temel veri tipleri konusunda bilgi sahibi olur.
2 yinelemeli ve özyinelemeli çözümleri karşılaştırabilir.
3 Liste ve bağlı liste veri yapıları ile problem çözebilir.
4 Yığıt yapısı ile daha etkin program yazma gerçekleştirebilir.
5 Kuyruk yapısı ile güncel problemlere ilişkin etkin program gerçekleştirebilir
6 Heap ağacının performansını analiz edebilir.
7 Arama, sıralama ve özel amaçlar için ağaç yapılarından faydalanabilir.
8 İkili ağaçların farklı uygulama alanlarını bilir.
9 Dengeli ve dengesiz ağaçların avantajlarını bilir.
10 Hash tablolarının uygulamalarını bilir.
11 Öğrenci kendisi yeni veri yapıları tanımlayabilir.
Hafta Ders Konuları Ön Hazırlık
1 Temel veri tipleri, veri kavramı ve algoritma analizi 1. Hafta Sunusu
2 Bellek yönetimi ve göstericiler 2. Hafta Sunusu
3 Özyineleme kavramı ve Özyinelemeli algoritmalar 3. Hafta Sunusu
4 Liste veri yapısı, Statik ve Dinamik diziler 4. Hafta Sunusu
5 Bağlı liste, tek yönlü bağlı listeler 5. Hafta Sunusu
6 Çift yönlü bağıl listeler, Dairesel listeler 6. Hafta Sunusu
7 Yığıt veri yapısı ve uygulamaları 7. Hafta Sunusu
8 Kuyruk veri yapısı, doğrusal kuyruk, dairesel kuyruk 8. Hafta Sunusu
9 Ağaç veri yapısı 9. Hafta Sunusu
10 İkili ağaç, İfade ağacı ve İkili arama ağacı 10. Hafta Sunusu
11 Öncelikli kuyruk ve Heap ağacı 11. Hafta Sunusu
12 AVL ağaçları 12. Hafta Sunusu
13 Genel Ağaç uygulamaları, Huffman, LempelZiv 13. Hafta Sunusu
14 Hash tabloları 14. Hafta Sunusu
Kaynaklar
Ders Notu

1. Prof. Dr. Nejat YUMUŞAK, Doç. Dr. M. Fatih ADAK, "C/C++ ile Veri Yapıları ve Çözümlü Uygulamalar", Seçkin yayıncılık, 2020, 3. Baskı

Ders Kaynakları

1. Prof. Dr. Nejat YUMUŞAK, Doç. Dr. M. Fatih ADAK, "C/C++ ile Veri Yapıları ve Çözümlü Uygulamalar", Seçkin yayıncılık, 2020, 3. Baskı

2. Dr.Rifat ÇÖLKESEN, "Veri yapıları ve algoritmalar", Papatya yayıncılık, 2002.
3. İbrahim Akman, "C ile Veri yapıları", SAS bilişim yayınları, 2002.

Sıra Program Çıktıları Katkı Düzeyi
1 2 3 4 5
1 a Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi
1 b Bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi
3 Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi X
4 Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi X
5 a Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama becerisi
5 b Deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi
6 a Disiplin içi takımlarda etkin biçimde çalışabilme becerisi
6 b Çok disiplinli takımlarda etkin biçimde çalışabilme becerisi
6 c Bireysel çalışma becerisi
7 a Sözlü ve yazılı etkin iletişim kurma, etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme becerisi
7 b En az bir yabancı dil bilgisi
7 c Etkin sunum yapabilme becerisi
7 d Açık ve anlaşılır talimat verme ve alma becerisi
8 Yaşam boyu öğrenmenin gerekliliği konusunda farkındalık; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi
9 a Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk hakkında bilgi
9 b Mühendislik uygulamalarında kullanılan standartlar hakkında bilgi
10 a Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi
10 b Girişimcilik, yenilikçilik hakkında farkındalık
10 c Sürdürülebilir kalkınma hakkında bilgi
11 a Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi
11 b Mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık
12 Bilişim Teknolojilerinin yönetim, denetim, gelişim ve güvenliği/güvenilirliği hakkında bilgi sahibi olma ve farkındalık
# Ders Öğrenme Çıktılarının Program Çıktılarına Katkısı PÇ 1 a PÇ 1 b PÇ 3 PÇ 4 PÇ 5 a PÇ 5 b PÇ 6 a PÇ 6 b PÇ 6 c PÇ 7 a PÇ 7 b PÇ 7 c PÇ 7 d PÇ 8 PÇ 9 a PÇ 9 b PÇ 10 a PÇ 10 b PÇ 10 c PÇ 11 a PÇ 11 b PÇ 12
1 Veri ve temel veri tipleri konusunda bilgi sahibi olur.
2 yinelemeli ve özyinelemeli çözümleri karşılaştırabilir.
3 Liste ve bağlı liste veri yapıları ile problem çözebilir.
4 Yığıt yapısı ile daha etkin program yazma gerçekleştirebilir.
5 Kuyruk yapısı ile güncel problemlere ilişkin etkin program gerçekleştirebilir
6 Heap ağacının performansını analiz edebilir.
7 Arama, sıralama ve özel amaçlar için ağaç yapılarından faydalanabilir.
8 İkili ağaçların farklı uygulama alanlarını bilir.
9 Dengeli ve dengesiz ağaçların avantajlarını bilir.
10 Hash tablolarının uygulamalarını bilir.
11 Öğrenci kendisi yeni veri yapıları tanımlayabilir.
Değerlendirme Sistemi
Yarıyıl Çalışmaları Katkı Oranı
1. Ara Sınav 30
1. Ödev 35
2. Ödev 35
Toplam 100
1. Yıl İçinin Başarıya 60
1. Final 40
Toplam 100
AKTS - İş Yükü Etkinlik Sayı Süre (Saat) Toplam İş Yükü (Saat)
Ders Süresi (Sınav haftası dahildir: 16x toplam ders saati) 16 3 48
Sınıf Dışı Ders Çalışma Süresi(Ön çalışma, pekiştirme) 16 2 32
Ara Sınav 1 6 6
Ödev 2 5 10
Final 1 12 12
Toplam İş Yükü 108
Toplam İş Yükü / 25 (Saat) 4,32
dersAKTSKredisi 4