×

Close

Type:
**Note**Institute:
**
Guru govind Singh indraprastha university
**Specialization:
**Computer Science Engineering**Views:
**26**Uploaded:
**25 days ago**Add to Favourite

CPS 230
DESIGN AND ANALYSIS
OF ALGORITHMS
Fall 2008
Instructor: Herbert Edelsbrunner
Teaching Assistant: Zhiqiang Gu

CPS 230
Fall Semester of 2008
Table of Contents
1
I
2
3
4
5
II
6
7
8
9
III
10
11
12
Introduction
3
D ESIGN T ECHNIQUES
4
Divide-and-Conquer
Prune-and-Search
Dynamic Programming
Greedy Algorithms
First Homework Assignment
5
8
11
14
17
S EARCHING
18
Binary Search Trees
Red-Black Trees
Amortized Analysis
Splay Trees
Second Homework Assignment
19
22
26
29
33
P RIORITIZING
34
Heaps and Heapsort
Fibonacci Heaps
Solving Recurrence Relations
Third Homework Assignment
35
38
41
44
IV
13
14
15
16
V
17
18
19
VI
20
21
22
VII
23
24
25
2
G RAPH A LGORITHMS
45
Graph Search
Shortest Paths
Minimum Spanning Trees
Union-Find
Fourth Homework Assignment
46
50
53
56
60
T OPOLOGICAL A LGORITHMS
61
Geometric Graphs
Surfaces
Homology
Fifth Homework Assignment
62
65
68
72
G EOMETRIC A LGORITHMS
73
Plane-Sweep
Delaunay Triangulations
Alpha Shapes
Sixth Homework Assignment
74
77
81
84
NP-C OMPLETENESS
85
Easy and Hard Problems
NP-Complete Problems
Approximation Algorithms
Seventh Homework Assignment
86
89
92
95

1 Introduction
Overview. The main topics to be covered in this course
are
Meetings. We meet twice a week, on Tuesdays and
Thursdays, from 1:15 to 2:30pm, in room D106 LSRC.
I Design Techniques;
II Searching;
III Prioritizing;
Communication. The course material will be delivered
in the two weekly lectures. A written record of the lectures will be available on the web, usually a day after the
lecture. The web also contains other information, such as
homework assignments, solutions, useful links, etc. The
main supporting text is
IV Graph Algorithms;
V Topological Algorithms;
VI Geometric Algorithms;
VII NP-completeness.
TARJAN . Data Structures and Network Algorithms. SIAM,
1983.
The emphasis will be on algorithm design and on algorithm analysis. For the analysis, we frequently need basic mathematical tools. Think of analysis as the measurement of the quality of your design. Just like you use your
sense of taste to check your cooking, you should get into
the habit of using algorithm analysis to justify design decisions when you write an algorithm or a computer program. This is a necessary step to reach the next level in
mastering the art of programming. I encourage you to implement new algorithms and to compare the experimental
performance of your program with the theoretical prediction gained through analysis.
The book focuses on fundamental data structures and
graph algorithms, and additional topics covered in the
course can be found in the lecture notes or other texts in
algorithms such as
K LEINBERG AND TARDOS . Algorithm Design. Pearson Education, 2006.
Examinations. There will be a final exam (covering the
material of the entire semester) and a midterm (at the beginning of October), You may want to freshen up your
math skills before going into this course. The weighting
of exams and homework used to determine your grades is
homework
midterm
final
35%,
25%,
40%.
Homework. We have seven homeworks scheduled
throughout this semester, one per main topic covered in
the course. The solutions to each homework are due one
and a half weeks after the assignment. More precisely,
they are due at the beginning of the third lecture after the
assignment. The seventh homework may help you prepare
for the final exam and solutions will not be collected.
Rule 1. The solution to any one homework question must
fit on a single page (together with the statement of the
problem).
Rule 2. The discussion of questions and solutions before
the due date is not discouraged, but you must formulate your own solution.
Rule 3. The deadline for turning in solutions is 10 minutes after the beginning of the lecture on the due date.
3

I
D ESIGN T ECHNIQUES
2
3
4
5
Divide-and-Conquer
Prune-and-Search
Dynamic Programming
Greedy Algorithms
First Homework Assignment
4

## Leave your Comments