|
EECS 380: Data structures and AlgorithmsWinter 2001 |
hash_sets of char*.
Teaching assistants: (office hours will be held on the 3rd floor of the Media Union computer lab.)
Class handouts will be available on-line. Sample discussion questions are also available.
There is information on the midterm, which include exam texts and solutions.
Practice final is now online.
Other handouts on Convex hull and growth of functions. are available on the media union's site. (You will be asked for your library password...)
The Class Newsgroup umich.eecs.class.380 will also be a useful source of information. For best results, be sure to use the engin newserver, news-server.engin.umich.edu.
You will be doing your work in C++ on a Unix system. If you are not familiar with that environment, we advise that you learn quickly. A TA can help you during office hours.
Homeworks will be turned in the EECS 380 box in room 2420 EECS. Due dates and times will be listed on the homework assignments themselves. Once the assignments have been picked up for grading, no assignments will be accepted unless a verifiable emergency occurred. The pick-up might occur right at the due time or hours later. In general we recommend that you get the assignments in 24 hours ahead of the due date in order to avoid potential problems (car wouldn't start, printer went down, no computers available, etc.)
Projects will be turned in via an autograder. This procedure will be described on the project assignment itself. Extensions will only be granted for medical or personal emergencies. Be prepared to substantiate any extension request with written proof, for example a note from your doctor. Extensions will not be grated for reasons such as: the printer went down, you erased all your files, you lost your code, etc. You can avoid all these problems by starting the projects early and keeping backup files.
# Lectures Topic Chapters
---------------------------------------------------------------------
1 | Introduction | 1
---------------------------------------------------------------------
| Fixed arrays: static vs dynamic |
| memory allocation |
3 | Expandable arrays | 3
| Linked lists |
| Strings |
---------------------------------------------------------------------
| Linear (unstructured) search |
3 | Binary search and | 12.4
| other ops with sorted ranges | 2
| Random vs. sequential access |
| Bit-vectors |
| Algorithm analyses |
---------------------------------------------------------------------
2 | Stacks | 4.2-4.4
| Queues | 4.6
---------------------------------------------------------------------
| Specification by interface |
2 | Abstract data types | 4.1, 4.8-4.10
| Generic programming |
| Introduction to STL |
| reference: http://www.sgi.com/Technology/STL/
---------------------------------------------------------------------
4-5 | Sorting and permutations |
| Traversal of permutations |
| Linear-time sorted range test |
| Elementary sorting methods | 6
| Quicksort (+median pivoting) | 7
| Merge sort | 8
| Radix sort and bin sorting | 10
| Pointer sorting, stability, |
| sorting permutations |
---------------------------------------------------------------------
1 | Midterm | 1-4,6-8,10 + STL
---------------------------------------------------------------------
4 | Recursion and Trees | 5
| divide-and-conquer |
| dynamic programming |
| traversals properties of trees|
| Heaps and priority queues | 9
| Binary search trees | 12.5-12.6
---------------------------------------------------------------------
2 | Hashing | 14
---------------------------------------------------------------------
6+ | Graphs | handouts
| Advanced topics | 12,13,16
---------------------------------------------------------------------