Geri

           

Dersin Adı

Kodu

Yarıyılı

T+U

Kredisi

AKTS

Algoritma Tasarımı ve Analizi

0504501

5

3+0

3

4

 

Ön koşul Dersler

Lineer Cebir, Matematik, Veri Yapıları

 

Dersin Dili

Türkçe

Dersin Türü

Zorunlu

Dersin Koordinatörü

Dersi Veren

Öğr.Gör. İbrahim Sabuncu

Dersin Yardımcıları

Dersin Amacı

Dersin Öğrenme Çıktıları ve Alt Beceriler

Bu dersin sonunda öğrenci; 

  1. Problem çözümlerinde kullanılan çeşitli algoritmaları incelemek.
  2. Algoritma tasarım ve analiz teknikleri hakkında bilgi sahibi olmak
  3. Özyineli algoritmaları, böl ve fethet algoritmalarını öğrenmek
  4. Algoritma zaman karmaşıklığı hakkında bilgi sahibi olmak
  5. Çeşitli arama ve sıralama algoritmalarını öğrenmek
  6. Çeşitli ağaç ve çizge algoritmalarını öğrenmek
  7. Açgözlü algoritmaların yapısını öğrenmek
  8. Günlük hayatımızda karşılaşabileceğimiz genel mühendislik problemlerinin çözümü için kullanılabilecek algoritmaları incelemek

Dersin İçeriği

Algoritmaların analiz ve tasarımı. O-notasyonu. Böl ve fethet algoritmaları. Dinamik programlama. Backtracing ve Branch & Bound metotları. Sıralama ve arama algoritmalarının matematiksel karmaşıklığı. Grafik algoritmaları. NP-zor ve NP-tam problemleri. Temel NPC problemleri. Dizgi işleme algoritmalarının analizi. Paralel algoritmalara giriş.

 

HAFTALAR

KONULAR

1

Giriş, tanımlar, örnekler, temel sıralama algoritmaları , algoritma zaman karmaşıklığı

2

Özyineli algoritmalar, böl ve fethet algoritmaları

3

Doğrusal sıralama algoritmaları

4

Ramazan Bayramı Tatili

5

Orta, küçük, büyük değer bulma, olasılık analizi ve problemleri

6

Amorti analizi, Ara Sınav I

7

Ağaç yapıları ve algoritmaları

8

Dinamik programlama, açgözlü algoritmalar, Huffman kodları

9

Çizge algoritmaları, arama algoritmaları, minimum kapsayan ağaçlar

10

Ara Sınav II

11

En kısa yol bulma

12

Matris çarpımı ve doğrusal programlama

13

Ağ akım algoritmaları

 

GENEL YETERLİLİKLER

  1. Ne tip problemlerin hangi tip algoritmalarla çözülebileceğine karar verebilmek.
  2. Algoritma tasarımı ve analizi yapabilmek, algoritmaların en iyi ve en kötü durumlarını tespit edebilmek.
  3. Algoritmaların veri yapılarıyla ilişkilerini kavrayabilmek.
  4. Bilinen algoritmaları bilgisayar ortamına aktarabilmek.

 

KAYNAKLAR

Dr. Rıfat Çölkesen,2009, Algoritma Geliştirme ve Veri Yapıları. İstanbul: Papatya Yayıncılık

 

DEĞERLENDİRME SİSTEMİ

Arasınav: %40
Final: %60

Bütünleme: