Dersin Adı

Kodu

Normal Yarıyılı

Grup No

ECTS
Kredisi

Kredi

Ders

3

Uygulama

0

Algoritmalar ve Veri Yapıları

0523021

5

 

8

3

Laboratuvar
(Saat/Hafta)

0

Dersin Dili

Türkçe , İngilizce Opsiyonel

Dersin Türü

Zorunlu

Dersin Koordinatörü

 

 

Dersin İçeriği

Algoritma Analizi Giriş; Matematiksel Fonksiyonların Analiz Temelleri; Algoritmaların Çalışma Sürelerinin Hesaplanması; Algoritma Analiz Fonksiyonları; Böl-Fethet Algoritması;  Euclid Algoritması; Veri Yapılarına Giriş; Listeler; Yıgınlar; Kuyruklar; İkili Ağaçlar; Arama Ağaçları; AVL Ağaçları; B ve B+ Agaçları ; Sıralama Metodları; Greedy Algoritması; Rastgele Modellemeye Dayalı Algoritmalar; Dinamik Programlama

 

 

 

 

 

 

 

Dersin Amacı

Matematiksel model olusturmalarda ve veri içeren her türlü konuda ihtiyaç duyulan  algoritma analiz ve veri yapı modellerine ait her türlü alt yapıyı vermek  ve ilgili konudaki en iyi çözümü bilgisayar üzerinde C ve C++ kullanarak geliştirmektir

 

 

 

 

 

 

 

 

 

Dersin Kazandıracağı Bilgi ve Beceriler

1 Algoritma analiz metodlarınının ögrenilmesi

2 Veri yapılarına hakim olunması

3 Her tipteki ve özelliklede piyasada sık kullanılan ağaç yapılarının ögrenimi ve kullanımı

4 Sıralama metodlarının ögrenilmesi

5 Tüm konuların C ve C++ programlama dili kullanılarak gerçekleştirilmesi

6 Sınıf dışı ödevler ile araştırma yapılması, dökümante edilmesi ve sunumu

 

 

 

 

 

 

 

 

 

Dersin Kitabı (Notu)

“Data Structures and Algorithm Analysis in C”, M. Allen Weisr, ISBN: 0-201-49840-5, Pearson Publications;

“Algorithms, Data Structures and Problem Solving with C++”,  Mark Allen Weiss, ISBN: 0-201-36122-1;

“Data Structures using C and C++”, Yedidyah Langsam, M. J. Augenstein, A. M. Tenenbaum;

“Algorithms & Complexity”, Wilf Herberts, Prentice Hall Pub.

“Algorithms”, Cormen L. Riresr, Mc Grawtwill

 

 

 

 

 

Yararlanılacak Diğer Kaynaklar

 

“Bilg. Prog. veYaz. Müh. Veri Yapıları ve Algoritmalar”, Rıfat Çölkesen, Papatya Yayıncılık, 2002;

“Borland C++ Developer Guide”, Nabajyoti Barkakati, Sams Publications

 

 

 

 

Ön Koşul Dersleri

 

Ön Koşul Konuları

 

En az bir programlama dili bilgisine sahip olmak

 

Ödev ve Projeler

Ögrenciler dönem içinde C veya C++ da bir ödev yaparlar, dökümantasyonla teslim edip, sunumunu verirler.

 

 

 

 

 

Laboratuvar Deneyleri

Bilgisayar Laboratuvarında uygulama yapılmalıdır. Fakat laboratuvar su anda yeterli olmadıgından ev ödevi şeklinde

verilmektedir.

 

 

 

 

 

 

 

 

Bilgisayar Kullanımı

Var

 

 

 

 

Diğer Uygulamalar

 

 

 

 

Başarı Değerlendirme Sistemi

 

Adedi

Etki Oranı %

Ara Sınavlar

2

50

Kısa Sınavlar

 

 

Ödevler

1

10

Projeler

 

 

Dönem Ödevi

 

 

Laboratuvar

 

 

Diğer

 

 

Final Sınavı

1

40

Ders Gruplarına Göre Ders Kredisinin Dağılımı (%)

Temel Bilimler

 

Temel Mühendislik

20

Mesleki

80

Üniversite Dersi

 

Ders Planı

Hafta

Konular

1

Algoritma Analizi Giriş

2

Matematiksel Fonksiyonların Analiz Temelleri  

3

Fonksiyonların Çalışma Sürelerinin Hesaplanması

4

Algoritma Analiz Fonksiyonları (Big Oh-O, Little Oh - o, Theta Q, Omega  W)

5

Böl-Fethet Algoritması,  Euclid Alg., Ikiye Bölme İle Arama Methodu ...

Algoritmarın Programlarının Çalışma Sürelerinin Hesaplanması

6

Veri Yapılarına Giriş

7

Listeler

8

Listeler

9

Yıgınlar

10

Kuyruklar

11

Ağaçlar:  İkili Ağaçlar, Arama Ağaçları

12

Ağaçlar:  Kısmen Balanslı Ağaçlar: AVL

13

Tam Balanslı Çok Seviyeli Agaclar: B ve B+ Agaçları

14

Sıralama Metodları :

Eklemeli Sıralama, Shell Sıralama, Birleşmeli Sıralama, Heap Sıralama

15

Sıralama Metodları :

Bucket Sıralama,  Bubble Sıralama, Secmeli Sıralama, Radix Sıralama ...

 

Hazırlayan:

 

 

 

Tarih:

 

 

DERSİN MATEMATİK MÜHENDİSLİĞİ BÖLÜM ÇIKTILARI İLE İLİŞKİSİ

 

 

 

1

2

3

1

Matematik ve Temel Mühendislik bilgilerini kullanarak model kurar.

 

 

Ö

2

Disiplinler arası takım çalışmasında etkin rol alır.

 

Ö

 

3

Matematiksel modelleri  analitik, sayısal veya istatistiki tekniklerle çözme becerisi kazanır.

 

 

Ö

4

Çözümleri ve sonuçları doğru bir biçimde yorumlar.

 

 

 Ö

5

Bilgisayar tabanlı teknikleri kullanarak problemleri bilgisayarda çözebilecek hale getiren  algoritmaları oluşturur ve uygular.

 

 

Ö

6

Kendi alanındaki yayınları ve gelişmeleri takip edebilecek ve gerektiğinde sunumda

bulunabilecek kadar ingilizceyi kullanma becerisi kazanır.

 

Ö

 

7

Endüstride ve Bilimsel kuruluşlarda araştırma ve geliştirme faliyetlerlerinde bulunur.

 

Ö

 

8

Eğitim faliyetlerinde bulunur.

Ö

 

 

9

Mesleğin sorumluluklarının bilincindedir.

 

 

Ö

10

Mesleki konularda güncel gelişmeleri yakından takip eder.

 

 

 Ö

11

Mesleğin gerektirdiği çağdaş yöntem ve araçları kullanır.

 

 

Ö

12

Yaşam boyu öğrenmenin önemini kavrar.

 

 

Ö

 

1- Hiç katkısı yok             2-Kısmen katkısı var                      3-Tam katkısı var