İleri Algoritma Analizi ve C Programlama

Parallel(Merge,Quick,Insertion,Bubble,Bitonic), Master Method, Red-Black Tree, BST, Greedy Algorithms, Recursive Kod

Ratings: 4.18 / 5.00




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.