Skip to content

Latest commit

 

History

History
88 lines (71 loc) · 2.52 KB

File metadata and controls

88 lines (71 loc) · 2.52 KB

Analysis and Design of Algorithms

This repository contains course materials, assignments, and resources for the Analysis and Design of Algorithms course, part of the Data Science Bachelor's program at IPN (Instituto Politécnico Nacional).

Course Overview

The primary goal of this course is to equip students with the knowledge and skills necessary to determine the most suitable algorithm for solving a given problem, based on design strategies and algorithmic complexity.

Course Contents

Unit I: Contextualization and Notations

  • Role of Algorithms in Computing
    • Basic concepts of algorithms and analysis
  • Complexity Types
    • Time complexity
    • Space complexity
  • Asymptotic Notations
    • Θ (Theta) Notation
    • O (Big-O) Notation
    • Ω (Omega) Notation
    • o (Little-o) Notation
    • ω (Little-omega) Notation
  • Functions Describing Asymptotic Growth

Unit II: Deterministic Design Strategies

  • Divide and Conquer Strategy
    • Maximum subarray problem
    • Strassen's algorithm
  • Recurrence Equations
    • Substitution method
    • Iteration method
    • Master theorem and its proof
  • Dynamic Programming
    • Rod cutting problem
    • Matrix chain multiplication
    • Key elements and applications
  • Greedy Strategy
    • Activity selection problem
    • Huffman coding
    • Matroids and greedy strategy

Unit III: Non-deterministic Design Strategies

  • Probabilistic Analysis and Randomized Algorithms
    • Activity selection problem
  • Amortized Analysis
    • Aggregate analysis
    • Accounting method
    • Potential method
    • Dynamic tables

Unit IV: Introduction to Complexity Theory

  • Algorithmic Complexity
  • Complexity Classes
    • P vs NP
    • NP-Completeness
  • Strategies to Handle NP-Class Problems

Learning Methods

  • Inductive and Deductive Learning
  • Case Studies and Problem-Based Learning
  • Project-Oriented Learning

Assessment

  • Diagnostic Evaluations
  • Case Solutions
  • Project Reports
  • Practical Reports
  • Written Exams

Recommended Reading

  • Introduction to Algorithms by Cormen, Leiserson, and Rivest
  • Algorithms by Dasgupta et al.
  • Algorithmics: The Spirit of Computing by Harel and Feldman
  • The Algorithm Design Manual by Skiena
  • Algorithms by Sedgewick and Wayne

Contact Information

For any questions or discussions, feel free to open an issue or contact the course instructors.


Instituto Politécnico Nacional

Data Science Program

Semester: III

Credits: 7.5 (TEPIC) / 6.3 (SATCA)