CPE 103 Final Exam Study Topics


1. Algorithm Analysis.
Given a code segment, describe the order of magnitude of the running time (as a function of number of items). E.g. 5.20, 5.29
Given the equation for running time of an algorithm and a sample data point, predict for some other value of N. E.g., 5.14, 5.15
Analyze an algorithm from its description and give the worst case running time (Big O).   E.g., 5.39, 5.43
Analyze an inefficient algorithm and describe how it could be modified to improve the running time. E.g., 5.28

2. Stacks.
Given a sequence of input items and a diagram of the finished stack, write the sequence of operations on the stack that would produce the desired state.
Evaluate a postfix expression using a stack.

3. Queues.
Given a sequence of input items and a diagram of the finished queue, write the sequence of operations on the queue that would produce the desired state.

4. Recursion.
Be able to trace a recursive method and determine the output.

5. Linked Lists.
Given a diagram of a linked structure, write the Java statements that will produce the structure.

6. Binary trees.
Be able to draw a diagram of the tree that would be built from a sequence of calls to Weiss's Binary Node & Tree class methods.
Given a tree diagram, create the statements to construct that tree.
Given a binary tree, show the order nodes will be visited in a pre-order traverse, in-order traverse,
and post-order traverse.

7. Binary Search Trees.
Given a list of items, insert the items into a binary search tree and draw a diagram of the resulting tree.
Given a tree, show the result from a remove operation for nodes that have no children, one child, or two children.

8. AVL trees. 
Given a list of items, insert the items into an AVL tree and draw a diagram of the resulting tree. (Single rotation only)

9. Sets. 
Given a code segment using Set operations, predict the results.  Given a Java Set, show the contents of the set after a series of set operations (insert,remove, contains, ...)

10. Maps. 
Given a code segment using Map operations, predict the results.

11. Hashing. 
Given a hashing function, a collision resolution strategy, and a set of keys, show how a hashtable would appear after inserting the keys into the table.
Given a set of keys and a hashing function determine the average number of probes for a successful search and an unsuccessful search.
Given a set of keys and a proposed hashing function, identify whether or not the function is a perfect hashing function, or minimally perfect.
Given a hashtable's capacity and current size, compute the load factor.

12. Sorting. 
Be able to diagram the operation of each sort algorithm we studied.
Given an array of numbers, show a trace of the array contents after each pass of a Bubble sort.
Do the same for Insertion sort and Selection sort.
See examples online.

13. Graphs.
Given a graph show how it would be represented using both adjacency matrix and adjacency list representations.
Given an adjacency matrix or adjacency list, draw the graph that it represents.
Given a graph, be able to compute its density.
Given a graph, be able to determine the order nodes would be visited in a Breadth-First traverse or a Depth-First Traverse.
Given a graph, be able to show how the shortest path between two nodes is computed using Dijkstra's algorithm.  Show the order in which nodes will be visited.

14. Access Modifiers.
For each of Java's access modifier's, indicate whether access is allowed from the class, subclass, package, and world.

Exam Protocol

Open book, closed note.
No iPods, cell phones, or other electronic devices. 
No water bottles on the desk.  
Anticipate that you may not be allowed a bathroom break and attend to your personal needs accordingly.
You will need a calculator (graphing calculators are not allowed).
Write neatly in pencil.
You may be assigned a specific seat.
Anticipate that you may be asked to deposit your backpack, purse, etc at the front of the room.
Please ask the instructor for assistance if a question is ambiguous or you aren't sure how to get started.
The point value of each question is shown on the exam in parentheses.
No hoodies or earphones.
If you arrive so late that the first person has already finished the exam you won't be given an exam.
The instructor will announce "time's up" at which point you should quickly submit your paper. If the instructor leaves the room and your paper isn't in his possession you get a zero.