Number
|
Topic
|
Reading
|
Leda
|
What to do
|
Who
|
1.
|
Red-Black Trees
|
Cormen et al, ch. 14.
|
gw_bintree
|
- Understand data structure and 1-2 applications.
- Experiment: compare several binary search data structures.
- Implement: write a small C++ program using Leda red-black trees.
|
Joe Targowski
|
2.
|
B-trees
|
Cormen et al, ch. 19.
|
gw_bintree
|
- Understand data structure and 1-2 applications.
- Experiment: compare several binary search data structures.
- Implement: write a small C++ program using Leda b-trees.
|
Katherine Gurdziel
|
3.
|
AVL-Trees
|
Kruse
|
gw_bintree
|
- Understand data structure and 1-2 applications.
- Experiment: compare several binary search data structures.
- Implement: write a small C++ program using Leda avl-trees.
|
Amanuel Lemma
|
4.
|
Binomial Heaps
|
Cormen et al. ch 20
|
no?
|
- Understand data structure and 1-2 applications.
|
Melalite Ayenew
|
5.
|
Fibonacci Heaps
|
Cormen et al. ch 21
|
no?
|
- Understand data structure and 1-2 applications, plus
something in Leda (similar data structure).
|
Geetika Tewari
|
6.
|
Disjoint Set Data Structures
|
Cormen et al. ch 22
|
no?
|
- Understand data structure and 1-2 applications.
|
Pallavi Moorthy
|
7.
|
Depth-First Search
|
textbook
|
yes
|
- Understand LEDA implementation of algorithm.
- Implement a small C++ program using it.
- Experimentation.
|
8.
|
Breadth-First Search
|
textbook
|
yes
|
- Understand LEDA implementation of algorithm.
- Implement a small C++ program using it.
- Experimentation.
|
9.
|
Connected Components
|
textbook
|
yes
|
- Understand LEDA implementation of algorithm.
- Implement a small C++ program using it.
- Experimentation.
|
Melissa Patton
|
10.
|
Strongly Connected Components
|
textbook
|
yes
|
- Understand LEDA implementation of algorithm.
- Implement a small C++ program using it.
- Experimentation.
|
11.
|
Biconnected Components
|
textbook
|
yes
|
- Understand LEDA implementation of algorithm.
- Implement a small C++ program using it.
- Experimentation.
|
12.
|
Shortest Path
|
textbook
|
gw_shortest_path
|
- Understand LEDA implementation of algorithm.
- Implement a small C++ program using it.
- Experimentation.
|
13.
|
Shortest Path - Dijkstra
|
textbook
|
gw_dijkstra
|
- Understand LEDA implementation of algorithm.
- Implement a small C++ program using it.
- Experimentation.
|
14.
|
Minimum Spanning Tree
|
textbook
|
gw_min_spanning_tree
|
- Understand LEDA implementation of algorithm.
- Implement a small C++ program using it.
- Experimentation.
|
15.
|
Max Flow
|
Cormen et al. ch 27
|
gw_max_flow
|
- Understand algorithm.
- Application or modelling some problem using max flow.
- Understand LEDA implementation of algorithm.
- Implement a small C++ program using it.
- Experimentation.
|
Hao Xi
|
16.
|
Max bipartite matching (the "marriage problem")
|
Cormen et al. ch. 27.3
|
gw_mc_matching, mcb_matching
|
- Understand algorithm.
- Application or modelling some problem using matchings.
- Understand LEDA implementation of algorithm.
- Implement a small C++ program using it.
- Experimentation.
|
Samia Qader
|
17.
|
String Matching: Rabin-Karp
|
Cormen et al. ch. 34.2
|
no?
|
- Understand algorithm.
- Applications using string matching (Unix string matching tools;
web search engines?).
|
Katey Cruz
|
18.
|
String Matching: using finite automata
|
Cormen et al. ch. 34.3
|
no?
|
- Understand algorithm.
- Applications using string matching (Unix string matching tools;
web search engines?).
|
Caroline Moore
|
19.
|
String Matching: Knuth-Morris-Pratt
|
Cormen et al. ch. 34.4
|
no?
|
- Understand algorithm.
- Applications using string matching (Unix string matching tools;
web search engines?); DNA sequencing?
|
Heather Takeguchi
|
20.
|
String Matching: Boyer-Moore
|
Cormen et al. ch. 34.5
|
no?
|
- Understand algorithm.
- Applications using string matching (Unix string matching tools;
web search engines?).
|
Shana Negin
|
21.
|
NP-Completeness
|
Cormen et al. ch. 36.5
|
no?
|
- Understand an NP-completeness proof: clique, vertex cover,
Hamilton cycle, Travelling salesman, Satisfiability, etc.
- Modelling of problems leading to NP-complete problems.
|
Christine Kang
|
22.
|
Approximation Algorithms.
|
Cormen et al. ch. 37.
|
no?
|
- Understand an approximation algorithm for an NP-hard problem.
vertex cover, travelling salesman, set-covering, subset-sum, etc.
|
Vicky Manfredi
|
23.
|
Modelling problems in social sciences using graphs
(e.g. Graph Coloring, etc.)
|
Fred Roberts
|
no
|
- Understand how to model a problem using some of the existing
graph algorithms.
|
Kelley Louie
Carmen Frerichs
|
24.
|
Other topic (of your choice)
|
must discuss with Ileana
|
may use Leda
|
- Modelling
- Understanding of other algorithms.
- Experimentation with other Leda data structures and algorithms.
- Design and analysis: dynamic programming, backtracking, other
algorithmic techniques and problems, e.g. parallel sorting.
- Implementation of a small program in C++ using some Leda data structure and algorithm.
|
|
25.
|
Huffman codes
|
Cormen, Ch. 17.3
|
no?
|
- Understanding of algorithm.
- Implementation of a small program in C++ using
Leda data structure and algorithm.
|
Veronica Morales
|
26.
|
van Emde Boas trees
|
paper
|
?
|
- Understanding of algorithm.
- Implementation of a small program in C++ using
Leda data structure and algorithm.
|
Elif Tosun
|
27.
|
Splay Trees
|
textbook, (Cormen?)
|
leda?
|
- Understanding of the data structure.
- Implementation of a small program in C++ using
Leda data structure and algorithm, if implemented, or other web resources..
|
Mingda Zhao
|
28.
|
Travelling Salesman Problem
|
paper
|
?
|
- Understanding of the problem, proof of
NP-completeness, approximation algorithm
|
Susan Ott
|