Lecture 9

Learning objectives

After this class, you should be able to:

  1. Explain the purpose of self-organizing lists.
  2. Explain the method used by the following types of self-organizing lists: (i) move-to-front, (ii) transpose, (iii) count, and (iv) ordering.
  3. Given a sequence of operations on a self organizing list of one of the above types, or a new type that we define, show the relative positions of elements in the list.
  4. Write code to implement a specified operation on a self-organizing list, either of the above types, or of some new type.
  5. Given an application, state which type of self-organizing list would ideally suit it, and give a justification for your choice.
  6. Perform average case analysis for operations on data structures.

Reading assignment

  1. Lecture notes. Also see: http://en.wikipedia.org/wiki/Self-organizing_list for additional information.
  2. Lecture: Self-organizing linked lists.

Exercises and review questions


Last modified: 20 Sep 2011