Results 1  10
of
18
Efficient Rebalancing of Chromatic Search Trees
 Journal of Computer and System Sciences
, 1993
"... In PODS'91, Nurmi and SoisalonSoininen presented a new type of binary search tree for databases, which they call a chromatic tree. The aim is to improve runtime performance by allowing a greater degree of concurrency, which, in turn, is obtained by uncoupling updating from rebalancing. This also al ..."
Abstract

Cited by 21 (7 self)
 Add to MetaCart
In PODS'91, Nurmi and SoisalonSoininen presented a new type of binary search tree for databases, which they call a chromatic tree. The aim is to improve runtime performance by allowing a greater degree of concurrency, which, in turn, is obtained by uncoupling updating from rebalancing. This also allows rebalancing to be postponed completely or partially until after peak working hours. The advantages of the proposal...
Relaxed balanced redblack trees
 In Proc. 3rd Italian Conference on Algorithms and Complexity
, 1997
"... Abstract. Relaxed balancing means that, in a dictionary stored as a balanced tree, the necessary rebalancing after updates may be delayed. This is in contrast to strict balancing meaning that rebalancing is performed immediately after the update. Relaxed balancing is important for efficiency in high ..."
Abstract

Cited by 15 (2 self)
 Add to MetaCart
Abstract. Relaxed balancing means that, in a dictionary stored as a balanced tree, the necessary rebalancing after updates may be delayed. This is in contrast to strict balancing meaning that rebalancing is performed immediately after the update. Relaxed balancing is important for efficiency in highly dynamic applications where updates can occur in bursts. The rebalancing tasks can be performed gradually after all urgent updates, allowing the concurrent use of the dictionary even though the underlying tree structure is not completely in balance. In this paper we propose a new scheme of how to make known rebalancing techniques relaxed in an efficient way. The idea is applied to the redblack trees, but can be applied to any class of balanced trees. The key idea is to accumulate insertions and deletions such that they can be settled in arbitrary order using the same rebalancing operations as for standard balanced search trees. As a result it can be shown that the number of needed rebalancing operations known from the strict balancing scheme carry over to relaxed balancing. 1
BTrees with Relaxed Balance
 In Proceedings of the 9th International Parallel Processing Symposium
, 1993
"... Btrees with relaxed balance have been defined to facilitate fast updating on sharedmemory asynchronous parallel architectures. To obtain this, rebalancing has been uncoupled from the updating such that extensive locking can be avoided in connection with updates. We analyze Btrees with relaxed bal ..."
Abstract

Cited by 13 (6 self)
 Add to MetaCart
Btrees with relaxed balance have been defined to facilitate fast updating on sharedmemory asynchronous parallel architectures. To obtain this, rebalancing has been uncoupled from the updating such that extensive locking can be avoided in connection with updates. We analyze Btrees with relaxed balance, and prove that each update gives rise to at most blog a (N=2)c + 1 rebalancing operations, where a is the degree of the Btree, and N is the bound on its maximal size since it was last in balance. Assuming that the size of nodes are at least twice the degree, we prove that rebalancing can be performed in amortized constant time. So, in the long run, rebalancing is constant time on average, even if any particular update could give rise to logarithmic time rebalancing. We also prove that the amount of rebalancing done at any particular level decreases exponentially going from the leaves towards the root. This is important since the higher up in the tree a lock due to a rebalancing operat...
Biased Skip Lists
 Algorithmica
, 2004
"... We design a variation of skip lists that performs well for generally biased access sequences. ..."
Abstract

Cited by 13 (1 self)
 Add to MetaCart
We design a variation of skip lists that performs well for generally biased access sequences.
Relaxed Balance through Standard Rotations
 In Fifth International Workshop on Algorithms and Data Structures
, 1997
"... We consider binary search trees, where rebalancing transformations need not be connected with updates but may be delayed. For standard AVL tree rebalancing, we prove that even though the rebalancing operations are uncoupled from updates, their total number is bounded by O(M log(M+N)), where M is the ..."
Abstract

Cited by 12 (4 self)
 Add to MetaCart
We consider binary search trees, where rebalancing transformations need not be connected with updates but may be delayed. For standard AVL tree rebalancing, we prove that even though the rebalancing operations are uncoupled from updates, their total number is bounded by O(M log(M+N)), where M is the number of updates to an AVL tree of initial size N. Hence, relaxed balancing of AVL trees comes at no extra cost asymptotically. Furthermore, our scheme differs from most other relaxed balancing schemes in an important aspect: No rebalancing transformation can be done in the wrong direction, i.e., no performed rotation can make the tree less balanced. Moreover, each performed rotation indeed corresponds to a real imbalance situation in the tree. Our results are important in designing efficient concurrency control strategies for mainmemory databases. Mainmemory search structures have gained new applications in large embedded systems, such as switching systems for mobile telephones.
The Suffix Binary Search Tree and Suffix AVL Tree
 Journal of Discrete Algorithms
, 2000
"... Suffix trees and suffix arrays are classical data structures that are used to represent the set of suffixes of a given string, and thereby facilitate the efficient solution of various string processing problems  in particular online string searching. Here we investigate the potential of suitably ..."
Abstract

Cited by 9 (2 self)
 Add to MetaCart
Suffix trees and suffix arrays are classical data structures that are used to represent the set of suffixes of a given string, and thereby facilitate the efficient solution of various string processing problems  in particular online string searching. Here we investigate the potential of suitably adapted binary search trees as competitors in this context. The suffix binary search tree (SBST) and its balanced counterpart, the suffix AVLtree, are conceptually simple, relatively easy to implement, and offer time and space efficiency to rival suffix trees and suffix arrays, with distinct advantages in some circumstances  for instance in cases where only a subset of the suffixes need be represented. Construction of a suffix BST can be achieved in O(L) time, where L is the path length of the tree, and in the case of a suffix AVLtree this is O(n log n), where n is the length of the input string. Searching for an m long substring requires O(m + l) time, where l is the length of the search path. In the suffix AVLtree this is O(m + log n) in the worst case. The space requirements are linear in n, generally intermediate between those for a suffix tree and a suffix array. Empirical evidence, illustrating the competitiveness of suffix BSTs, is presented. 1
A General Technique for Implementation of Efficient Priority Queues
 In Proc. 3rd Israel Symposium on Theory of Computing and Systems
, 1994
"... This paper presents a very general technique for the implementation of mergeable priority queues. The amortized running time is O(log n) for DeleteMin and Delete, and \Theta(1) for all other standard operations. In particular, the operation DecreaseKey runs in amortized constant time. The worstca ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
This paper presents a very general technique for the implementation of mergeable priority queues. The amortized running time is O(log n) for DeleteMin and Delete, and \Theta(1) for all other standard operations. In particular, the operation DecreaseKey runs in amortized constant time. The worstcase running time is O(logn) or better for all operations. Several examples of mergeable priority queues are given. The examples include priority queues that are particular well suited for extenal storage. The space requirement is only two pointers and one information field per item. The technique is also used to implement mergeable, doubleended priority queues. For these queues, the worstcase time bound for insertion is \Theta(1), which improves the best previously known bound. For the other operations, the time bounds are the same as the best previously known bounds, worstcase as well as amortized. 1 Introduction A mergeable priority queue is one of the fundamental data types. It is used...
Amortization Results for Chromatic Search Trees, with an Application to Priority Queues
, 1997
"... this paper, we prove that only an amortized constant amount of rebalancing is necessary after an update in a chromatic search tree. We also prove that the amount of rebalancing done at any particular level decreases exponentially, going from the leaves toward the root. These results imply that, in p ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
this paper, we prove that only an amortized constant amount of rebalancing is necessary after an update in a chromatic search tree. We also prove that the amount of rebalancing done at any particular level decreases exponentially, going from the leaves toward the root. These results imply that, in principle, a linear number of processes can access the tree simultaneously. We have included one interesting application of chromatic trees. Based on these trees, a priority queue with possibilities for a greater degree of parallelism than previous proposals can be implemented. ] 1997 Academic Press 1.
Relaxed Balancing Made Simple
, 1995
"... Relaxed balancing means that, in a dictionary stored as a balanced tree, the necessary rebalancing after updates may be delayed. This is in contrast to strict balancing meaning that rebalancing is performed immediately after the update. Relaxed balancing is important for efficiency in highly dyn ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
Relaxed balancing means that, in a dictionary stored as a balanced tree, the necessary rebalancing after updates may be delayed. This is in contrast to strict balancing meaning that rebalancing is performed immediately after the update. Relaxed balancing is important for efficiency in highly dynamic applications where updates can occur in bursts. The rebalancing tasks can be performed gradually after all urgent updates, allowing the concurrent use of the dictionary even though the underlying tree structure is not completely in balance. The contribution of the present paper is that we introduce a new scheme for relaxed balancing, which is obtained by a simple generalization of strict balancing. Our approach implies a simple proof of the fact that the number of the needed rebalancing operations (to put the tree in balance) for relaxed balancing is the same as for strict balancing. 1 Introduction A dictionary is a scheme for storing a set of data such that the operations sea...
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.