CPSC 320 Sample Midterm 2
March 2009
[12] 1. Skip Lists
[4] a. When we augment a skip list to support efficient OrderStatistics queries, we store
a
count
value with each pointer of the skip list. What does
count
represent, and
how is it used by
SkipListSelect
?
Solution :
This value is the difference in rank (position) in the skip list between the
node that contains the pointer, and the node the pointer points to.
[4] b. How does algorithm
UpdatedSkipListInsert
use the
Rank
array filled by
algorithm
UpdatedSkipListSearch
to recompute the
count
values associated
with the pointers stored in the new node?
Solution :
It uses the
Rank
array to compute the ranks of the new node (that is,
Rank[1] + 1
), and the rank of the node the pointer points to (that is,
Rank[lev]
+ count(Pointer[lev], lev)
). The
count
value we want will be the dif
ference of these two ranks.
[4] c. When we analyzed the expected running time of algorithm
SkipListSearch
we
looked at the path taken by the algorithm through the skip list “backwards”. That is,
we analyzed the expected number of left moves of the reverse path (from the node we
are searching for to the head of the skip list) on each given level, instead of analyzing
the expected number of right moves on each level. Why?
Solution :
Because when going from right to left, we know the probability of going
up (
p
) and the probability of going left (
1
−
p
).
These allow us to compute the
expected number of left moves on level
i
. When we go from left to right, on the other
hand, we do not know the probabilities of going down or right.
[8] 2. Show the tree constructed by Dijkstra’s algorithm for the graph in the following figure,
assuming that the first vertex added to the tree is vertex
V
0
. Label each edge of your tree
by a number that indicates the order in which the edges were added to the tree (so the first
edge added will be labeled “1”, the second edge added will be labeled “2”, etc). Show the
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
This is the end of the preview.
Sign up
to
access the rest of the document.
 Fall '10
 Karen
 Big O notation, Security guard, guard

Click to edit the document details