|
Dersin Adı-Kodu: Veri
Yapıları ve Algoritmaları 3 (3+0) |
Programın Adı: BİLİŞİM
SİSTEMLERİ |
||||||||||
|
Yarıyıl |
Eğitim ve Öğretim
Yöntemleri |
Krediler |
|||||||||
|
Teori |
Uyg. |
Lab. |
Proje/Alan
Çalışması |
Ödev |
Diğer |
Toplam |
Kredi |
AKTS Kredisi |
|||
|
42 |
50 |
|
|
38 |
58 |
188 |
3 |
7.5 |
|||
|
Ders Dili |
Türkçe |
||||||||||
|
Zorunlu / Seçmeli |
Seçmeli |
||||||||||
|
Ön şartlar |
Yok |
||||||||||
|
Dersin İçeriği |
Yığıtlar, kuyruklar,
bağlı listeler. Dinamik bellek ayırma. Ağaç yapılar. B-ağaçları ve
uygulamaları. Graflar, en kısa yollar, topolojik
sıralama. Sıralama ve arama teknikleri ve performans. Statik ve dinamik
kırpma (hash) teknikleri. Algoritmalara giriş, algoritma analizi. Sıralama
algoritmaları (selection sort, insertion sort, bubble sort, shell sort, merge
sort, quick sort, heap sort), doğrusal zamanda sıralama (count sort, radix
sort, bucket sort). Temel graf algoritmaları (BFS, DFS, Topological sort).
Greedy algoritmları, minimum spanning trees (kruskal algorithm, prim
algorithm), shortest path (bellman-ford algorithm, dijkstra algorithm). Bilgi sıkıştırma (Huffman algorithm). |
||||||||||
|
Dersin Amacı |
Yığıtlar,
kuyruklar, bağlı listeler, Dinamik bellek ayırma, Ağaç yapıları, B-ağaçları
ve uygulamalarını öğretmek. Graflar, en kısa yollar, topolojik sıralama,
Sıralama ve arama tekniklerinin performanslarını öğretmek. Sıralama
algoritmaları (selection sort, insertion sort, bubble sort, shell sort, merge
sort, quick sort, heap sort), doğrusal zamanda sıralama (count sort, radix
sort, bucket sort) algoritmalarını öğretmek. Temel graf algoritmalarını ve
Bilgi sıkıştırma algoritmalarını öğretmek. |
||||||||||
|
Öğrenme Çıktıları ve Yeterlilikler |
Yığıtlar, kuyruklar, bağlı
listeler, Dinamik bellek ayırma, Ağaç yapıları,
B-ağaçları ve uygulamalarının öğrenilmesi. Graflar, en kısa
yollar, topolojik sıralama, Sıralama ve arama tekniklerinin
performanslarının öğrenilmesi. Sıralama
algoritmaları (selection sort, insertion sort, bubble sort, shell sort, merge
sort, quick sort, heap sort), doğrusal zamanda sıralama (count sort, radix
sort, bucket sort) algoritmalarının öğrenilmesi. Temel graf algoritmaları ve
Bilgi sıkıştırma algoritmalarının öğrenilmesi. |
||||||||||
|
Ders Kitabı ve/veya Kaynaklar |
·
Robert L.
Kruse, Alexander J. Ryba, Data Structures and Program Design in C++,
Prentice-Hall, 1999. ·
Adam Drozdek,
Data Structures and Algorithms in Java, Thomson Learning, 2001. · Rıfat
Çölkesen, Veri Yapıları ve Algoritmalar: Program Tasarımı ve Yazılım
Mühendisliğinde, Papatya Yaıncılık, 2003 |
||||||||||
|
Değerlendirme Ölçütleri |
|
Varsa (X)
olarak işaretleyiniz
|
Yüzde (%) |
||||||||
Ara Sınavlar
|
X |
50 |
|||||||||
|
Kısa Sınavlar |
- |
- |
|||||||||
|
Ödevler |
- |
- |
|||||||||
|
Projeler |
- |
- |
|||||||||
|
Dönem Ödevi |
- |
- |
|||||||||
|
Laboratuvar |
- |
- |
|||||||||
|
Diğer |
- |
- |
|||||||||
|
Dönem Sonu Sınavı |
X |
50 |
|||||||||
|
Ders Sorumluları |
Fen Bilimleri Enstitüsü
Müdürlüğü fenbilim@sdu.edu.tr |
||||||||||
|
Hafta |
Konular |
||||||||||
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Giriş Bağlı Listeler Yığıtlar Kuyruklar Uygulama Örnekleri Özyineleme Ağaçlar Uygulama Örnekleri Dengelenmiş Ağaçlar Çok Yollu Ağaçlar Graflar Graf Algoritmaları Uygulama Örnekleri Hash Fonksiyonları |
||||||||||