Results 1 
9 of
9
Randomized Search Trees
 ALGORITHMICA
, 1996
"... We present a randomized strategy for maintaining balance in dynamically changing search trees that has optimal expected behavior. In particular, in the expected case a search or an update takes logarithmic time, with the update requiring fewer than two rotations. Moreover, the update time remains ..."
Abstract

Cited by 137 (1 self)
 Add to MetaCart
We present a randomized strategy for maintaining balance in dynamically changing search trees that has optimal expected behavior. In particular, in the expected case a search or an update takes logarithmic time, with the update requiring fewer than two rotations. Moreover, the update time remains logarithmic, even if the cost of a rotation is taken to be proportional to the size of the rotated subtree. Finger searches and splits and joins can be performed in optimal expected time also. We show that these results continue to hold even if very little true randomness is available, i.e. if only a logarithmic number of truely random bits are available. Our approach generalizes naturally to weighted trees, where the expected time bounds for accesses and updates again match the worst case time bounds of the best deterministic methods. We also discuss ways of implementing our randomized strategy so that no explicit balance information is maintained. Our balancing strategy and our alg...
Checking Geometric Programs or Verification of Geometric Structures
 IN PROC. 12TH ANNU. ACM SYMPOS. COMPUT. GEOM
, 1996
"... A program checker verifies that a particular program execution is correct. We give simple and efficient program checkers for some basic geometric tasks. We report about our experiences with program checking in the context of the LEDA system. We discuss program checking for data structures that ha ..."
Abstract

Cited by 30 (6 self)
 Add to MetaCart
A program checker verifies that a particular program execution is correct. We give simple and efficient program checkers for some basic geometric tasks. We report about our experiences with program checking in the context of the LEDA system. We discuss program checking for data structures that have to rely on userprovided functions.
A Basis for Implementing Exact Geometric Algorithms (Extended Abstract)
, 1993
"... Our ultimate goal is to develop exact geometric computation as an viable alternative to the usual computing paradigm based on fixedprecision arithmetic. Use of exact computation has numerous advantages; in particular, it will abolish the nonrobustness issues that has so far defied satisfactory so ..."
Abstract

Cited by 15 (7 self)
 Add to MetaCart
Our ultimate goal is to develop exact geometric computation as an viable alternative to the usual computing paradigm based on fixedprecision arithmetic. Use of exact computation has numerous advantages; in particular, it will abolish the nonrobustness issues that has so far defied satisfactory solution. In this paper we describe two computational tools which can be a basis for exact geometric computing: ffl bigFloat: a multiprecision floatingpoint number system with automatic errorhandling. ffl bigExpression: an expressions package based on a precisiondriven mechanism. This package is built on top of bigFloat. We discuss the rationale for the design of these packages. Experimental results are reported. The major contributions of our work are: ffl We demonstrated for the first time that, because of the existence of root...
Biased Skip Lists
 Algorithmica
, 2004
"... We design a variation of skip lists that performs well for generally biased access sequences. ..."
Abstract

Cited by 12 (1 self)
 Add to MetaCart
We design a variation of skip lists that performs well for generally biased access sequences.
Adaptive Software: Automatic Navigation Through Partially Specified Data Structures
, 1994
"... ..."
Dynamic Optimality for Skip Lists and BTrees
, 2008
"... Sleator and Tarjan [39] conjectured that splay trees are dynamically optimal binary search trees (BST). In this context, we study the skip list data structure introduced by Pugh [35]. We prove that for a class of skip lists that satisfy a weak balancing property, the workingset bound is a lower bou ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
Sleator and Tarjan [39] conjectured that splay trees are dynamically optimal binary search trees (BST). In this context, we study the skip list data structure introduced by Pugh [35]. We prove that for a class of skip lists that satisfy a weak balancing property, the workingset bound is a lower bound on the time to access any sequence. Furthermore, we develop a deterministic selfadjusting skip list whose running time matches the workingset bound, thereby achieving dynamic optimality in this class. Finally, we highlight the implications our bounds for skip lists have on multiway branching search trees such as Btrees, (ab)trees, and other variants as well as their binary tree representations. In particular, we show a selfadjusting Btree that is dynamically optimal both in internal and external memory.
Efficient Strategies for Topics in Internet Algorithmics
, 2002
"... In this dissertation we posit a coherent area of research called Internet Algorithmics. We study a number of different algorithmic problems which are motivated by or are relevant to the various processes which activate the Internet or are activated by it. The first ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
In this dissertation we posit a coherent area of research called Internet Algorithmics. We study a number of different algorithmic problems which are motivated by or are relevant to the various processes which activate the Internet or are activated by it. The first
Selfadjusting Data Structures for External Memory String Access
, 2001
"... Data warehouses are increasingly storing and managing large scale string data, and dealing with large volume of transactions that update and search string databases. Motivated by this context, we initiate the study of selfadjusting data structures for string dictionary operations, that is, data str ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Data warehouses are increasingly storing and managing large scale string data, and dealing with large volume of transactions that update and search string databases. Motivated by this context, we initiate the study of selfadjusting data structures for string dictionary operations, that is, data structures that are designed to be efficient on an entire sequence of operations rather than individual string operations. Furthermore, we study this problem in the external memory model where string data is too massive to be stored in main memory and has to reside in disks; each access to a disk page fetches B items, and the cost of the operations is the number of pages accessed. We show that given n strings S1, ..., Sn of total length P i jS i j = N , a sequence of m string searches S i 1 , S i 2 , ..., S i m takes O( P m j=1 ( jS i j j B ) + P n i=1 (n i log B m n i )) amortized expected I/Os, where n i is the number of times S i is queried. Inserting or deleting a string S takes O( jSj B + log B n) amortized expected I/Os. This result is the analog of what is known as the Static Optimality Theorem [17] proved by Sleator and Tarjan in their classic splay trees paper for a dictionary of numerical values; here, it has been generalized, for the first time to string data, to string operations, and to the external memory model. This performance is achieved not by traditional "splay" operations on search trees as in [17], but by designing a novel selfadjusting data structure based on the wellknown skip lists. In addition, we introduce the paradigm of using the main memory (or a part thereof) persistently across operations, in the manner of a cache, to further improve the performance of our selfadjusting skip list. This is quite reasonable in a...
~) 1996 SpringerVedag New York Inc. Randomized Search Trees
"... This paper is dedicated to the memory of Gene Lawler. Abstract. We present a randomized strategy for maintaining balance in dynamically changing search trees that has optimal expected behavior. In particular, in the expected case a search or an update takes logarithmic time, with the update requirin ..."
Abstract
 Add to MetaCart
This paper is dedicated to the memory of Gene Lawler. Abstract. We present a randomized strategy for maintaining balance in dynamically changing search trees that has optimal expected behavior. In particular, in the expected case a search or an update takes logarithmic time, with the update requiring fewer than two rotations. Moreover, the update time remains logarithmic, even if the cost of a rotation is taken to be proportional to the size of the rotated subtree. Finger searches and splits and joins can be performed in optimal expected time also. We show that these results continue to hold even if very little true randomness is available, i.e., if only a logarithmic number of truely random bits are available. Our approach generalizes naturally to weighted trees, where the expected time bounds for accesses and updates again match the worstcase time bounds of the best deterministic methods. We also discuss ways of implementing our randomized strategy so that no explicit balance information is maintained. Our balancing strategy and our algorithms are exceedingly simple and should be fast in practice.