CISC 320 review sheet for second midterm exam on Monday, Nov 25, 1996
Exam covers
19 (boyer-moore algorithm only).
22 File compression: Huffman coding
handout File compression: Limpel-Zev coding
23 Cryptography
20 Regular expressions
35 random number generators
29 graph reps
30 dept first spanning trees, union find
31 minimum spanning trees
32 directed graphs
CISC 320 Exam 2 sample questions
- Ch 19
- Explain the basic ideas of the Boyer Moore substring search algorithm.
Which of the 2 main heuristics would be most effective on a binary string?
- Be prepared to discuss the worst case and average case performance of
Boyer Moore algorithm with respect to Knuth-Morris-Pratt and Rabin-Karp
algorithms.
- Ch 22
- Name an advantage Lempel Ziv has over Huffman code?
Which of the two algorithms encodes fixed size units to variable size
units?
- In the following texts, circle the segments which would be assigned
distinct codeunits in Lempel Ziv.
"aaaaaaaaaaaaaaaaaaaaaaaaaaa"
"abababac"
- Ch 23
- What is the value of the fact that RSA encryption/decryption can also
be done in the order decryption then encryption?
- What does it mean to say an encryption method is a "public key" method?
- What makes us believe the RSA encryption method is hard to crack?
- Compute rsa public and private keys for the primes 11 and 23.
- Use the public key to encrypt 220.
- Ch 29
- What are the two principal ways to represent graphs?
- Which way would you use on a dense graph?
on a sparse graph?
- What do dense, sparse mean?
- How long does depth first search take on a graph given by an adjacency matrix?
- What does depth first search have to do with the concept of a spanning forest?
- What other things can you compute using a depth first search?
- Ch 30
- What is a biconnected graph? (give definition)
- Explain an algorithm for determining if a graph is biconnected.
- What is the union-find algorithm about? i.e. what problem does it solve?
- What is weight balancing in the union-find algorithm.
What bound on the cost of a sequence of n union and find operations,
can be proven based on weight balancing alone.
- Define F(n), and it's approximate inverse, G(n)
[ these are the functions used in analyzing the performance of union-find. ]
- For what values of n is n = F(G(n)) true?
- Ch 31
- What is the difference between the two MST algorithms we studied?
- What do they have in common?
- Which is closest to the shortest path algorithm (Dijkstra's)?
- What property of MST's in a graph facilitates the proof that these
algorithms are correct?
...
- Additional questions: Any of the hw problems on this material
(or near variants of them).
saunders@cis.udel.edu