Disign and analysis of algorith - Overview
Disign and analysis of algorith - Overview
Analysis of Algorithms
Target group: 3rd year Computer Science students
By: Elsay M.
Design and Analysis of
Algorithms
• Course Code: CoSc 3094
• Credit Hours: 3 | ECTS: 5
• Lecture Hours: 3 | Lab Hours: 0 | Tutorial Hours: 2
• Prerequisite: CoSc 2091 - Data Structure and Algorithms
• Course Category: Compulsory
• Year: III | Semester: II
• Instructor: Elsay M.
o Email: mekonnenelsay@gmail.com
o Office: Building 15, Room 8
o Office Hours: Monday – Friday, during working hours
Course Description
• This course covers the fundamental principles in the
design and analysis of algorithms.
• Key topics include a review of essential data structures,
algorithm design techniques such as divide-and-
conquer, dynamic programming, and greedy algorithms,
as well as an introduction to graph algorithms like BFS,
DFS, and shortest path algorithms.
• Topics Include:
• Review of basic data structures
• Algorithm design techniques (Divide-and-Conquer, Dynamic
Programming, Greedy Algorithms)
• Graph Algorithms (BFS, DFS, Minimum Spanning Tree, Shortest
Paths)
Course Objectives
• By the end of this course, students will be
able to:
• Analyze algorithms using various techniques.
• Apply different algorithm design methods.
• Understand the basics of computational
complexity.
• Implement advanced searching and sorting
algorithms.
• Develop and evaluate the correctness and
performance of algorithms, especially for
string searching and graph manipulation.
Course Outline
Chapter 1: Introduction and Elementary
Data Structures (6 hours)
1.1 Introduction to Algorithm Analysis
1.1.1 Asymptotic Notations
1.1.2 Analysis of Algorithms
Cont..
1.2 Review of Elementary Data
Structures
1.2.1 Heaps
1.2.2 Hashing
1.2.3 Set Representation (UNION,
FIND Operations)
Chapter 2: Divide and Conquer
(6 hours)
2.1 The General Method of Divide
and Conquer
2.2 Binary Search
2.3 Finding Maximum and Minimum
Cont..