- Shery khan

advertisement
Course Outline
Fall-2014
DEPARTMENT OF COMPUTER SCIENCE
UNIVERSITY OF WAH, WAH CANTT
Design and Analysis of Algorithms (CPS-518)
Course Structure: Lectures: 3 / Labs: 0
Credit Hours: 3
Prerequisites: Discrete Structure, Data Structures and Algorithms
Course Description
This course is to provide an introduction to the design and analysis of computer algorithms. The
students will learn how to analyze the performance of computer algorithms, and programming
techniques and data structures used in the writing of effective algorithms.
We will discuss classic algorithm design strategies (e.g., divide-and-conquer, dynamic
programming, greedy approaches), data structures (e.g., hash tables, binary search trees), classic
problems (e.g., sorting, knapsack problem, scheduling, graph-related problems) and the classic
algorithms to solve them. We will also analyze algorithm complexities.
Objectives: Upon completion of this course, students will be able to do the following:




Analyze the asymptotic performance of algorithms.
Write rigorous correctness proofs for algorithms.
Demonstrate a familiarity with major algorithms and data structures.
Apply important algorithmic design paradigms and methods of analysis.
Instructor: M.Tahir
Email: tahir591@hotmail.com
Class Schedule for BS 4th Section-C
Lecture No
1
2
Day
Monday
Tuesday
Time
10:00 To 11:30
10:30 To 11:30
Venue
A-3
A-3
Textbooks:



Required textbook: Introduction to Algorithms, 3rd Edition; Cormen, Leiserson, Rivest, and
Stein; MIT Press, Boston, 2009.
Algorithms in C++; Robert Sedgewick
Algorithms 4/e by Robert Sedgewick and Kevin Wayne. Addison-Wesley Professional, 2011.
Course Outline
Fall-2014
Tentative lecture schedule
Week Topic
1
2
3
4
6
7
8
10
11
12
13
14
15-16
Reading
Introduction to Algorithms and its importance
Ch 1,2
Basics, asymptotic notation
Ch 3
Asymptotic notation
Ch 3
Analyzing recursive algorithms - defining recurrence
Ch 4
Analyzing recursive algorithms - recursion tree method
Ch 4
Analyzing recursive algorithms - master theorem
Ch 4
Analyzing recursive algorithms - substitution method
Ch 4
Quick sort
Ch 7
Heap sort & Priority queue
Ch 6
Linear time sorting algorithms
Ch 8
Order statistics
Ch 9
Hash tables
Ch 11
Red black trees
Week 9 ……………………….Mid Term Exam
Dynamic programming
Ch 13
Dynamic Programming
Ch 15
Dynamic Programming
Ch 15
Greedy Algorithm
Ch 16
Intro to graphs
Ch 22
Minimum spanning tree
Ch 22
Minimum spanning tree, Shortest paths
Ch 22
Graph search, topological sort
Ch 23
String matching
Ch 32
P/NP
Ch 34
Final review
Final Term Exam
Ch 15
Download