Description

This course introduces the mathematical design and analysis of computer algorithms. Algorithm complexity, growth of functions, recurrences will be covered. Algorithm design techniques such as divide-and-conquer, dynamic programming and greediness will be introduced. Moreover, well known algorithms for e.g., sorting, searching, graph problems and computational geometry will be developed.

Program

Artificial Intelligence 132 CRs

Objectives

  • - Apply asymptotic time complexity analysis to choose among competing algorithms.
    - Construct and solve recurrence equations describing the asymptotic time complexity of a given algorithm.
    - Identify the best algorithm design technique for a given problem.
    - Implement efficient algorithms using the appropriate data structures.

Textbook

Anany Levitin, An Introduction to the Design and Analysis of Algorithms, Pearson

Course Content

content serial Description
1Introduction
2Algorithms analysis and sorting techniques part 1
3Algorithms analysis and sorting techniques part 2
4Recurrences part 1
5Recurrences part 2
6Brute Force Algorithms part 1
7Brute Force Algorithms part 2
8Greedy Algorithms part 1
9Greedy Algorithms part 2
10Dynamic Programming part 1
11Dynamic Programming part 2
12Divide and Conquer
13Graph Algorithms
14Parallel Algorithms part 1
15Parallel Algorithms part 2

Markets and Career

  • Generation, transmission, distribution and utilization of electrical power for public and private sectors to secure both continuous and emergency demands.
  • Electrical power feeding for civil and military marine and aviation utilities.
  • Electrical works in construction engineering.

Start your application

Start The your journey to your new career.