Number

Topic

Reading

Leda

What to do

Who

1.

RedBlack Trees

Cormen et al, ch. 14.

gw_bintree

 Understand data structure and 12 applications.
 Experiment: compare several binary search data structures.
 Implement: write a small C++ program using Leda redblack trees.

Joe Targowski

2.

Btrees

Cormen et al, ch. 19.

gw_bintree

 Understand data structure and 12 applications.
 Experiment: compare several binary search data structures.
 Implement: write a small C++ program using Leda btrees.

Katherine Gurdziel

3.

AVLTrees

Kruse

gw_bintree

 Understand data structure and 12 applications.
 Experiment: compare several binary search data structures.
 Implement: write a small C++ program using Leda avltrees.

Amanuel Lemma

4.

Binomial Heaps

Cormen et al. ch 20

no?

 Understand data structure and 12 applications.

Melalite Ayenew

5.

Fibonacci Heaps

Cormen et al. ch 21

no?

 Understand data structure and 12 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 12 applications.

Pallavi Moorthy

7.

DepthFirst Search

textbook

yes

 Understand LEDA implementation of algorithm.
 Implement a small C++ program using it.
 Experimentation.

8.

BreadthFirst 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: RabinKarp

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: KnuthMorrisPratt

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: BoyerMoore

Cormen et al. ch. 34.5

no?

 Understand algorithm.
 Applications using string matching (Unix string matching tools;
web search engines?).

Shana Negin

21.

NPCompleteness

Cormen et al. ch. 36.5

no?

 Understand an NPcompleteness proof: clique, vertex cover,
Hamilton cycle, Travelling salesman, Satisfiability, etc.
 Modelling of problems leading to NPcomplete problems.

Christine Kang

22.

Approximation Algorithms.

Cormen et al. ch. 37.

no?

 Understand an approximation algorithm for an NPhard problem.
vertex cover, travelling salesman, setcovering, subsetsum, 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
NPcompleteness, approximation algorithm

Susan Ott
