In this paper, we study the problem of maintaining a doubly-linked list (DLL) in approximately optimal order, with respect to the mean search time. We study two types of DLL reorganization strategies. Move-To-End (MTE) [12] and SWAP [14] are two memoryless DLL heuristics obtained from natural extensions of the well-known singly-linked-list (SLL) heuristics, move-to-front and transposition, respectively. We first derive a general sufficient condition which permits comparison of any two DLL heuristics. We use this condition as a guideline to identify families of access distributions for which SWAP yields a lower expected cost than the MTE. We have also presented an absorbing DLL heuristic. The strategy requires one additional memory location and is analogous to the scheme presented in [15]. The reorganization is achieved by moving each element exactly once to its final position in the reorganized list. The scheme is stochastically absorbing and it is shown to be optimal for a restricted family of distributions. Thus, for these distributions, the probability of the scheme converging to the optimal list order can be made as close to unity as desired.

Additional Metadata
Persistent URL dx.doi.org/10.1006/jagm.1993.1005
Journal Journal of Algorithms
Citation
Valiveti, R.S. (R. S.), & Oommen, J. (1993). Self-Organizing doubly-linked lists. Journal of Algorithms, 14(1), 88–114. doi:10.1006/jagm.1993.1005