CS361: Data Structures and Algorithms
Book, syllabus, grading and policies
Our book is Cormen, Leiserson, Rivest, and Stein,
``Introduction to Algorithms'' (Second edition).
I also highly recommend Algorithm Design by Kleinberg and Tardos,
and Algorithms by Dasgupta, Papadimitriou and Vazirani.
Here is the syllabus and policies.
Mailing list
You must subscribe to the mailing list to receive announcements,
hints, assignments, and solutions. To do so, visit the
listserv site and subscribe. Please note: the listserv system
will send you email and you will not be added to the list
until you send a reply to confirm.
The TA
Our TA is Olumuyiwa Oluwasanmi, muyiwa [at] cs.unm.edu.
His office hours are Wednesdays at 2-4 pm and Fridays at 11 am-12 pm,
in FEC 301a.
My office hours and emailing me
My office is in Farris Engineering Center, FEC335. My office hours are
Tuesdays and Thursdays 3:30-4:30 p.m. You should also feel free to email me,
which is often the quickest way to get help.
Assignments
Here is the pretest. It is due on Tuesday, August 29th.
Here is homework #1, and the solutions.
Here is homework #2, and the solutions.
Here is homework #3, and the solutions.
Here is homework #4, and the solutions.
Here is homework #5, and the solutions.
Midterm
Here is the sample midterm.
And, here are the solutions to the
actual midterm.
Programming projects
Here is the project description.
Here is some helpful advice on
how to do good computational experiments.
Here are some resources you may find useful:
Jared Saia's notes on union-find (slides 20 onward
are especially helpful), notes provided by Max Young on
log-log plots and fits with Matlab, and
Mark Newman's notes on power laws.
Animations of data structures
Check out these applets. They allow you to play with various
data structres structures and watch them go.
Former UNM student Rory McGuire's applets for
Union-find (with path compression), and
2-3-4 Trees.
Splay trees, red-black trees and AVL trees by Arsen Gogashvili.
Splay trees and more
splay trees. This one does a nice job of explaining the rotations
step-by-step.
Sorting Algorithms (with Java source code). Thanks to Sheri Winfield
for finding this!
Here is a link to
Bill Pugh's paper on Skip Lists.
And here is a demo of
skip lists --- thanks to Cathy Alarid for finding it!
Final exam
Here are the solutions. Have a good winter break!