[tag=□ | □]
[tag=VB | □]
ADT ordered list : compare lists with move-to-front heuristics with plain binary search trees and at least one of splay trees , AVL trees , red-black trees , skip lists , and randomized binary search trees ( treaps ) . I 'd like you all to try out these group assignments , but they are somewhat advisory - - if you feel totally misplaced in one group , please feel free to relocate ( notify me , though , so I can update the webpage appropriately ) . I ca n't feel the floor beneath me , yet I am not falling . After you have recognized and generated code for all of the expressions , you should emit directives to allocate space for all of the variables mentioned in the expressions . Use the month as an excuse to develop the habit of reading poetry and then maybe , if we are lucky , the temptation will persist and sustain us for a lifetime . I put my hand down and feel a luke-warm wetness on the fingers . ADT dictionary , minimally dynamic context ( far more lookups than insertions or deletions ) : compare at least three of plain binary search trees , AVL trees , red-black trees , splay trees , tries , skip lists , randomized binary search trees ( treaps ) , and various hash tables ( with resolution inside or outside the table ) . If you feel misplaced in a particular group , please feel free to relocate - - these are largely advisory . The " final " data may or may not become available in time to be of use during the competition ; if it does become available I will release it as soon as I can . Plotting data : the data should be normalized and the plots scaled so as best to show the behavior of the structure and thus be able to compare it to the analytical prediction . More specialized projects can probe the details of functioning of a single data structure : for instance , you can investigate the expected number of rotations in an insertion or deletion in an AVL tree , the expected number of levels through which an element is sifted in a binary heap during insertion or deletion , etc. Another possibility is to study the cache behavior of various implementations of the same data structure - - write code to allocate storage differently in a tree , or compare linear probing ( next location in the table ) with double hashing or quadratic probing in terms of both running time and number of probes , testing to see if there is a crossover value . ADT dictionary , highly dynamic context ( almost as many insertions and deletions as there are lookups ) : compare plain binary search trees with at least two of : AVL trees , red-black trees , splay trees , tries , skip lists , and randomized binary search trees ( treaps ) .