Beruflich Dokumente
Kultur Dokumente
Course Code:
BCADS 20401
Credit Units: 04
Course Objective: The objective of the course is to provide the fundamentals and the concepts of Design & analysis of Algorithms including Mathematical foundations, Sorting & Order Statistics, Data Structures, Advanced Design & Analysis techniques such as Divide & Conquer, greedy method & Dynamic Programming approaches.
Course Contents:
Module I: Introduction Algorithms, Analyzing algorithms, Designing algorithms. Mathematical Foundations: Growth of Functions-Asymptotic natation, Recurrence The substitution Method, Recursion tree method, Master Method.
Module II: Sorting and Order statistics: Divide & Conquer Strategy, Heap Sort, Quick Sort, V. stressen Matrix Multiplication, Sorting in Linear time. Data Structures: Elementary data structures, hash tables, Binary search trees.
Module III: Advanced Design and Analysis Techniques Dynamic programming- Elements of dynamic programming, Chain-matrix multiplication, All pair shortest path (Flayed -algorithm), Optimal Binary Search. Tree. Greedy algorlthms - Elements of the greedy strategy, Huffman codes, SIngle-source shortest path in a directed graph, Knapsack problem, Minimun Spmming trees- The Algorithm of Kruskals and Prims.
Module IV: Graph Algorithms Elementary graphs Algorithms, Minimum spanning Trees, Single source Shortest paths, All Pair Shortest Paths. Selected Topics: Sorting Networks, Algorithms for Parallel Computers.
Module V Polynomials and tile FFT, String Matching, NP-Completeness, Approximation Algorithms.