Design and
Analysis of
Algorithms
CSC-321
Prof. Dr. Mahmoud Mhashi
Computer Science Department
Faculty of Information Technology
Zarqa University
This course introduces students to the
analysis and design of computer algorithms.
The Objectives are:
Expl

Week (13)
Exact String Searching: Skipping
Objectives:
o Explain what skipping operation is;
o Show the performance of skipping
operation through examples;
o Be familiar with some exact string
searching algorithms with different
skipping distance such as

Week (9)
Dynamic Programming Design Technique
Longest Common Subsequence
Objectives:
o Explain the dynamic programming technique
for solving optimization problems;
Dynamic programming
o explain
when an
algorithmic design situation calls for it; and
o Show

Week (10)
Exact String Searching: Checking
Objectives:
o Explain what an exact String Searching
algorithm is;
o Describe the performance issues;
o Be familiar with the different checking
operations; and
o Show some exact string searching
algorithms such n

Week (8)
Graph Applications
Objectives:
o Explain some applications such as topological
sort;
o Show the construction of strong components
and articulation points.
Topological sorting
In computer science, a topological sort (sometimes abbreviated topsort

Week (6)
Traversal Techniques
Objectives:
o Explain and apply various graph search techniques; and
o Discuss relative merits and demerits of these search
techniques.
Breadth-First Search Traversal Algorithm
Breadth-first search is a way to find all the ve

Week 5
Analysis of Algorithms III
Objectives:
o Explain more non-recursive examples to
understand Time and Space Complexity;
o Explain more recursive examples to
understand Time and Space Complexity;
Complexity of the recursive Binary search function Rbin

Week (5)
Analysis of Algorithms II
Objectives:
o Define a Recurrence Method;
o Solve recurrence equations that arises in
recursive algorithms;
o Some more examples to understand Time and
Space Complexity
Time Complexity using Recurrence relations
Some com

Week 7
Design Technique I
Objectives:
Given an array of n real number A[1. n], the
objective is to sort the elements of A in specific
order of their values.
Internal Sort: the data to be sorted will fit into
memory.
External sort: Sorting files from tape

Week (2)
Some Basics of Algorithms
Objectives:
o Explain the definition of an Algorithm;
o Understand the Principle of optimality;
o Show the Time and space complexity of an
Algorithm;
o Use on Asymptotic notations O (Big Oh)
(Big Omega) and (Theta) Nota