İleri Algoritma Analizi ve C Programlama
Parallel(Merge,Quick,Insertion,Bubble,Bitonic), Master Method, Red-Black Tree, BST, Greedy Algorithms, Recursive Kod
Description
Kurs Bilgisayar Mühendisliği alanında oldukça zengin bir içeriğe sahiptir. Özellikle Bilgisayar, Yazılım, Endüstri, Elektrik-Elektronik Mühendisliği bölümlerindeki ön lisans / lisans / yüksek lisans / doktora öğrencilerinin faydalanacağı Türkçe kaynak niteliğindedir. Algoritma analizleri, çalışma mantığı ve zaman analizleri, en kısa yol algoritmaları, üzerinde durulmuştur. Kurs içeriği maddeler halinde aşağıda ifade edilmiştir.
- Merge(Birleştirme) Sort, Bitonic Sort, Quick(Hızlı) Sort, Bubble(Kabarcık) Sort, Insertion(Araya ekleme) Sort sıralama algoritmalarının çalışma mantığı, zaman analizleri
- Parallel Merge Bitonic, Parallel Merge Odd/Even, Parallel Quick, Parallel Bubble Sort: Sıralama algoritmalarının paralelleştirilmesi
- Iterative and Recursive: C dili ile iteratif ve rekürsif program örnekleri
- Rekürsif programlama ile algoritmanın çalışma zamanını düşürme.
- Divide and conquer: Böl ve fethet yöntemi
- Matrix: Matrislerin çarpımı, 2x2, 5x5 matris determinant(öz) hesabı
- Greedy Algorithms: MST, Prim's, Kruskal, Dijikstra, Belman Ford. Aç gözlü algoritmalar (en kısa yol problemi)
- Heap: Binary, Binomial, Fibonachi : Heap yapıları
- Red-Black Tree: Kırmızı-Siyah dengeli(balanced) ağaç yapısı
- Gray code: Hypercube Routing. Hypercube Routing Broadcast(One to all )
- Curve fitting: Lagner, Cramer. Eğri uydurma
- Binary Search Tree: İkili Arama Ağacı. Dolaşma(Inorder, Preorder, Postorder), Ekleme, Silme, Predessor, Successor
- Master Method: Ana teorem ile algoritmaların çalışma zamanlarının hesabı (case 1:, case 2:, case 3:)
- Master method ile logaritmik f(n) içeren denklemin zaman hesabı
- Yineleme Ağacı ile algoritmaların çalışma zamanlarının hesabı
- Veri tapıları, Data Structure
What You Will Learn!
- Algoritmaların çalışma zamanlarını hesaplama
- Master method yöntemi ile algoritmanın çalışma zamanını hesaplama(case 1:, case2:, case 3:)
- Yineleme ağacı yöntemi ile algoritmanın çalışma zamanını hesaplama
- Sıralama algoritmalarının mantığını kavrama
- Merge, Quick Sort, Insertion Sort, Bubble Sort, Radix Sort, Bitonic Sort algoritmalarını ve çalışma zamanlarını inceleme
- C programlama dili ile temel algoritmaların kodlamasını yapabilme
- Fibonacci serisi, Armstrong sayı, Mükemmel sayı, Sayının kuvveti gibi temel programlama sorularının C dili ile kodlamasını yapablme
- Iterative ve Recursive yöntemlerle algoritmanın koda aktarılması
- En kısa yol algoritmalarını kavrama
- Greedy Algorithm: MST, Prim's, Kruskal, Dijikstra, Belman Ford en kısa yol algoritmaları
- BST - İkili arama ağaçları (binary search tree) ile arama, ekleme, successor, predessor, min, max işlemleri
- İkili arama ağaçları InOrder, PreOrder, PostOrder dolaşma
- Sıralama algoritmalarının paralelleştirilmesi ve çalışma zamanları
- Paralel Quick Sort, Paralel Merge Odd even, Paralel Merge Bitonic, Paralel Bubble Sort algoritmaları
- Heap yapıları (Binary, Binomial, Fibonacci)
- Gray Code ile HyperCube Routing, Hypercube Routing Broadcast(one to all)
- Eğri uydurma (Cramer ve Lagner yöntemi)
- Red-Black Tree: Kırmızı - siyah dengeli ağaç yapısı
- Merge, Bubble, Quick, Insertion, Bitonic Sort sıralama algoritmalarının çalışma mantığı ve analizi
- Matrislerin çarpımı, 2x2, 5x5 matrisin determinant hesabı
- Veri tapıları, Data Structure
Who Should Attend!
- Sıralama algoritmalarının mantığını ve zaman karmaşıklığı konusu ile ilgilenenler için uygundur.
- Algoritmanın çalışma zamanının hesaplama konusu ile ilgilenenler.
- Graflar ile en kısa yol problemlerinin çözümü ile ilgilenenler.
- Temel matematiksel problemleri için algoritma oluşturma C programlama dili ile koda dökülmesi ile ilgili kişiler için uygundur.
- Çalışma zamanı hesabında yineleme ağacı, master method ve değer verme yöntemlerinin kullanımı.
- Ağaç veri yapısı (ikili arama ağacı -binary search tree)
- Algoritmaların paralelleştirilmesi
- Bilgisayar bilimlerinde ve bilgisayar mühendisliğindeki özel konular
- Programlama deneyiminiz olmasa da temel seviyede bir programlama becerisi ile birlikte algoritma kurma ve algoritmaların çalışma zamanlarının hesaplamayı öğreneceksiniz.