Computer Science 261
Fourth Exam Review
Disclaimer: I have attempted to be comprehensive in the
following, but important items may have been omitted by mistake. If
you see such an omission, please let me know, but you are responsible
for all of the lecture material to date. (this is a draft - I may
have more to add in class Tuesday).
The fourth hour exam in CSci 261 will be given on Friday, Dec. 3,
and will cover chapters 5 (excluding 5.4 but including section 5.6),
sections 6.1 - 6.3 of chapter 6, chapter 7, chapter 8 (excluding
section 8.5 and 8.7), and the material from last Tuesday on file
organizations, merging, and external sorting. Some details:
- Binary Search Trees
- Be able to create, destroy, insert, delete, list, and
search in a binary search tree (but be prepared now to write
code)
- Be able to describe and implement a heap (including
constructing a heap from an array, and correcting a heap -
i.e., the parts of a heap needed for heapsort to work).
- General Trees
- Be able to describe the parent pointer implementation and
the child-sibling pointer scheme for a tree.
- Graphs
- Be able to describe several methods for implementing a
graph
- Be able to describe breadth-first and depth-first search
(including backtracking) and to write (basic) algorithms for
them.
- Be able to describe and demonstrate the algorithms for
finding the shortest path in a graph and for finding a minimal
spanning tree.
- Internal Sorting
- Be able to write code for the following sorts:
- Insertion sort
- Bubble sort
- Selection sort
- Quicksort
- Heapsort
- Be able to describe how Shellsort works.
- Files
- Be able to list and briefly describe the three basic file
organizations
- Be able to outline the algorithm to merge two files
- Be able to describe distribution-merge sorting (to the
extent done on the board last Tuesday).