self2 - Advanced List Structures Self Organizing Lists (2)...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
Introduction The justification for skip lists was motivated by the desire to decrease the expected search time in an n element ordered linear list to O(log n). The basic requirement to justify the use of the skip list is that the pattern of searching is assumed to be random. In other words, having searched for a specific element within the list, the next search is expected to be a random “distance” from the previous search element. There is no expected correlation between any two search elements. However, in many search based applications there is a correlation between search elements. This is an adaptation of the “ principle of locality”. Basically this means that once an element is searched for and found, chances are high that it will be searched for again in the near future. There are many different ways that self-organizing lists can be organized; we’ll look at four of the more common approaches in this set of notes. [ Reference: Hester, James and Hirschberg, Daniel, “Self-Organizing Linear Search,” Computing Surveys 17 , (1985), 137-138.] [ Reference: Valiveti, R. and Oommen, B., “Self-Organizing Doubly Linked Lists,” Journal of Algorithms 14 , (1993), 88-114.] Organization Methods for Self Organizing Lists Four of the more common methods for the organization protocol in self- organizing lists are: 1. Move-to-front method: After locating the search element it is moved to the logical front of the list. 2. Transpose method: After the search element is located, it is swapped with its predecessor element. 3. Count method: The order of the elements in the list is maintained based upon the number of times the element is referenced. 4. Ordering method: The order of the list is maintained using some criteria which is pertinent to the information maintained in the list. In other words, some natural ordering of the data based upon some search protocol. Self Organizing Lists - 1 Advanced List Structures – Self Organizing Lists (2)
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
We’ll examine each of these organizational methods separately, however there are some similarities than run across all of the methods. For example, in the first three methods, all new nodes are inserted into the end of the list (logical and physical end), while in the fourth method a new node is inserted into the list at whatever point is appropriate for the search protocol that is employed. With the first three methods, elements most likely to be the search element are positioned physically near the beginning of the list, most explicitly with the move-to-front method and most cautiously with the transpose method. Next, we’ll look at each of these four methods is some detail, then do some analysis on the expected performance of the various methods. Move-to-front Method
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 11

self2 - Advanced List Structures Self Organizing Lists (2)...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online