Design and Analysis of Algorithms

advertisement
University of New York, Tirana
Komuna e Parisit (pranë Kopshtit Botanik), Tirana, Albania
Tel.: 00355-(0)4-273056-8 – Fax: 00355-(0)4-273059
Web Site Address: http://www.unyt.edu.al
Design and Analysis of Algorithms
Spring 2012
Faculty: Elton Ballhysa
E-mail: eltonballhysa@unyt.edu.al
Course Description
This course introduces basic methods for the design and analysis of efficient algorithms
emphasizing methods useful in practice. Different algorithms for a given computational task are
presented and their relative merits evaluated based on performance measures. The following
important computational problems are included: sorting, searching, elements of dynamic
programming and greedy algorithms, advanced data structures, graph algorithms (shortest path,
spanning trees, and tree traversals), string matching, elements of computational geometry, NP
completeness.
Course Outcomes
Upon course completion, the students will have demonstrated the ability to do the following:
 Argue the correctness of algorithms using inductive proofs and loop invariants.
 Analyze worst-case running times of algorithms using asymptotic analysis. Compare the
asymptotic behaviors of functions obtained by elementary composition of polynomials,
exponentials, and logarithmic functions. Describe the relative merits of worst-, average-,
and best-case analysis.
 Analyze average-case running times of algorithms whose running time is probabilistic.
Employ indicator random variables and linearity of expectation to perform the analyses.
Recite analyses of algorithms that employ this method of analysis.
 Describe the divide-and-conquer paradigm and explain when an algorithmic design
situation calls for it. Recite algorithms that employ this paradigm. Synthesize divide-andconquer algorithms. Derive and solve recurrences describing the performance of divideand-conquer algorithms.
 Explain the major algorithms for sorting. Recite the analyses of these algorithms and the
design strategies that the algorithms embody. Synthesize algorithms that employ sorting
as a sub procedure. Derive lower bounds on the running time of comparison-sorting
algorithms, and explain how these bounds can be overcome.
 Describe main graph algorithms and specifically shortest path algorithms.
 Describe the greedy programming paradigm and explain when an algorithmic design
situation calls for it. Recite algorithms that employ this paradigm. Synthesize greedy
algorithms, and analyze them.

Understand the complexity classes P and NP and the notions of reducibility and NPcompleteness. Be able to use approximation algorithms for specific NP-complete
problems.
Textbook
“Algorithms,” by Sanjoy Dasgupta, Christos H. Papadimitriou, and Umesh Vazirani. McGrawHill Science/Engineering/Math, 2006. (As of this day, a draft version of this book is made
available at Vazirani’s website: http://www.cs.berkeley.edu/~vazirani/algorithms.html.)
Other useful reference textbooks:
1. Introduction to Algorithms,” by Thomas H. Cormen, Charles Leierson, Ronal Rivest and
Clifford Stein, The MIT Press, 2001
2. “Algorithms: Sequential, Parallel and Distributed,” by Kenneth Berman and Jerome Paul,
Thomson - Course Technology, 2005
3. “Introduction to the Design and Analysis of Algorithms,” by Anany Levitin , Addison
Wesley, 2006
MIT Open CourseWare website features an “Introduction to Algorithms” course with a complete
set of audio and video lectures at http://ocw.mit.edu/OcwWeb/Electrical-Engineering-andComputer-Science/6-046JFall-2005/CourseHome/index.htm
Also, check Sanjoy Dasgupta’s (one of the textbook’s co-authors) course web site at
http://cseweb.ucsd.edu/~dasgupta/101/index.html for slides and other useful information.
Tentative Course Outline
Topics
Asymptotic Notation, Number Algorithms
Divide and Conquer Algorithms
Sorting algorithms
Graph Algorithms
Paths in graphs
Greedy Algorithms
Dynamic Programming
Linear Programming
NP completeness
(Tentative)
Internet Algorithms
Quantum Algorithms
Materials
The student will be given links to lecture notes, video and audio materials needed for each topic.
Evaluation
1.
2.
3.
4.
Mid-Term Exam:
Assignments:
Project
Final Exam:
25 %
20%
20%
35 %
Grading Scale and Quality Points:
A-F (UNYT standard grading scale).
Grade
A
AB+
B
BC+
C
CD+
D
DF
Percentage
96-100
90-95
87-89
83-86
80-82
77-79
73-76
70-72
67-69
63-66
60-62
0-59
Quality points
4.00
3.67
3.33
3.00
2.67
2.33
2.00
1.67
1.33
1.00
0.67
0.00
General Policies
1. Assignments should be submitted timely.
2. Any form of unethical activity, e.g. cheating, will result in an automatic F on assignments
and/or exam. The University’s rules on academic dishonesty (e.g. cheating, plagiarism,
submitting false information) will be strictly enforced. Please familiarize yourself with
STUDENT HONOR CODE.
3. Make-up exams will be given in the case of a confirmed medical excuse. Whenever
possible, please advise the instructor in advance by email.
Download