















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Material Type: Notes; Class: Data Structures; Subject: Computer Science; University: University of Maryland; Term: Spring 2008;
Typology: Study notes
1 / 23
This page cannot be seen from the preview
Don't miss anything!
















Easy to insert & delete in O(1) time
Don’t need to estimate total memory needed
Hard to search in less than O(n) time
(binary search doesn’t work, eg.)
Hard to jump to the middle
fix these drawbacks
good data structure for a dictionary ADT
header
sentinel
71 < Inf?
71 < 91?
71 < 96?
Comparison
71 < 31?
Change
current
location
for (i = 0; i < n; i++)
if (X[i] >= K) break ;
if (X[i] != K) return FAIL;
Relax the requirement that each level have exactly half
the items of the previous level
Instead: design structure so that we expect 1/2 the items
to be carried up to the next level
Skip Lists are a randomized data structure: the same
sequence of inserts / deletes may produce different
structures depending on the outcome of random coin
flips.
E[# nodes at level 1] = n/
E[# nodes at level 2] = n/
...
E[# nodes at level log n] = 1