Ana içeriğe atla

Ders Detayı

Ders Tanımı

DersKoduYarıyılT+U SaatKrediAKTS
VERİ YAPILARI3+248
Ders Programı
Ön Koşul Dersleri
Önerilen Seçmeli Dersler
Dersin Diliİngilizce
Dersin SeviyesiLisans
Dersin TürüZorunlu
Dersin KoordinatörüProf.Dr. Mehmet Kemal ÖZDEMİR
Dersi VerenlerProf.Dr. Mehmet Kemal ÖZDEMİR
Dersin Yardımcıları
Dersin AmacıBu ders, farklı tip problemlerin çözümünde etkili algoritma tasarımı için, bir bilgisayardaki verinin nasıl organize edilmesi gerektiğini öğretmeyi amaçlamaktadır. İşlenen konular, diziler, listeler, yığıtlar, sıralar, ağaçlar, yığınlar, çizgeler ve arama, sıralama, seçme ve diğer benzeri uygulamalar için bu veri yapılarının kullanımını kapsamaktadır. Ders C programlama dili üzerinde konuları işleyecektir.
Dersin İçeriğiBu ders; Veri yapıları ve algoritmalara giriş; C Programlama Temel Giriş,Fonksiyonlar, Dizinler ve İşaretleyiciler,C'de Dizeler, Yapılar ve Bellek Atama,Algoritma analizi ve karmaşıklık gösterimleri,Temel veri yapıları: Bağlı Listeler,Soyut veri tipleri: Yığıt,Soyut veri tipleri: Sıralar,Ağaçlar ve İkili Arama Ağaçları,Etkin İkili Ağaçlar ve Çok Yollu Arama Ağaçları,Öncelikli Sıralar ve Yığınlar,Çizgeler,Seçme Algoritmaları ve Sıralama,Hesaba Dayalı Adresleme ve Çakışma,Dosyalar ve Dosya Organizasyonu; konularını içermektedir.
Dersin İçeriğiÖğretim YöntemleriÖlçme Yöntemleri
1. Öğrenci algoritma analizinin ana ilkelerini açıklayabilecektir. 1, 15, 4, 9A
2. Öğrenci bir algoritmik çözümün doğruluğunu, karmaşıklığını ve verimliliğini analiz edebilecektir. 1, 13, 16, 4, 9A, D
3. Öğrenci diziler, listeler, yığıt ve sıra gibi temel veri yapılarını algoritma tasarımında kullanabilecektir. 1, 13, 15, 16, 4, 9A, D
4. Öğrenci ağaç, ikili ağaç, yığın, hash tabloları, ve çizge veri yapılarını tanımlayabilecek ve problem çözümlerinde uygulayabilecektir 1, 13, 15, 4A
5. Öğrenci bir problemin etkili çözümü için uygun veri yapısını seçebilecektir. 1, 13, 15, 16, 4D
Öğretim Yöntemleri:1: Anlatım, 13: Deney / Laboratuvar, 15: Problem Çözme, 16: Proje Temelli Öğrenme, 4: Alıştırma ve Uygulama, 9: Benzetim
Ölçme Yöntemleri:A: Yazılı sınav, D: Proje / Tasarım

Ders Akışı

SıraKonularÖn Hazırlık
1Veri yapıları ve algoritmalara giriş; C Programlama Temel GirişKitap Bölümü 1, Ders Sunuları 1
2Fonksiyonlar, Dizinler ve İşaretleyicilerKitap Bölümü 1 ve 3, Ders Sunuları 2
3C'de Dizeler, Yapılar ve Bellek AtamaKitap Bölümü 4 ve 5, Ders Sunuları 3
4Algoritma analizi ve karmaşıklık gösterimleriKitap Bölümü 2, Ders Sunuları 4
5Temel veri yapıları: Bağlı ListelerKitap Bölümü 6, Ders Sunuları 4
6Soyut veri tipleri: YığıtKitap Bölümü 7, Ders Sunuları 6
7Soyut veri tipleri: SıralarKitap Bölümü 8, Ders Sunuları 7
8Ağaçlar ve İkili Arama AğaçlarıKitap Bölümü 9, Ders Sunuları 8
9Etkin İkili Ağaçlar ve Çok Yollu Arama AğaçlarıKitap Bölümü 10-11, Ders Sunuları 9
10Öncelikli Sıralar ve YığınlarKitap Bölümü 12, Ders Sunuları 10
11ÇizgelerKitap Bölümü 13, Ders Sunuları 11
12Seçme Algoritmaları ve SıralamaKitap Bölümü 14, Ders Sunuları 12
13Hesaba Dayalı Adresleme ve ÇakışmaKitap Bölümü 15, Ders Sunuları 13
14Dosyalar ve Dosya OrganizasyonuKitap Bölümü 16, Ders Sunuları 14
Kaynak
Ders Kitabı: Data Structures Using C 2nd Edition Reema Thareja ISBN-10 ‏ : ‎ 0198099304
Yardımcı Kaynaklar: Data Structures and Algorithms in C++, 4th Edition, Mark A. Weiss, ISBN: 978-0132847377 Ders sunum ve notları

Dersin Program Yeterliliklerine Katkısı

Dersin Program Yeterliliklerine Katkısı
NoProgram Yeterliliği Katkı Düzeyi
12345
0
1. Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi
X
0
2. Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi
X
0
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
0
4. Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi
X
0
5. Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi
0
6. Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi
0
7. Sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi
0
8. Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi
0
9. Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi
0
10. Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi
0
11. 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; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık

Değerlendirme Sistemi

Katkı DüzeyiMutlak Değerlendirme
Ara Sınavın Başarıya Oranı 30
Genel Sınavın Başarıya Oranı 70
Toplam 100

Ders

-

Dersin Detaylı Bilgileri

-

Sayısal Veriler

Öğrenci Başarı Durumu