Results 11  20
of
44
Fishspear: A Priority Queue Algorithm (Extended Abstract)
"... The Fishspear priority queue algorithm is presented and analyzed. Fishspear makes fewer than 80 % as many comparisons as heaps in the worst case, and its relative performance is even better in many common situations. The code itself embodies an unusual recursive structure which permits highly dynami ..."
Abstract

Cited by 12 (1 self)
 Add to MetaCart
The Fishspear priority queue algorithm is presented and analyzed. Fishspear makes fewer than 80 % as many comparisons as heaps in the worst case, and its relative performance is even better in many common situations. The code itself embodies an unusual recursive structure which permits highly dynamic and datadependent execution. Fishspear also differs from heaps in that it can be implemented efficiently using sequential storage such as stacks or tapes, making it possibly attractive for implementation of very large queues on paged memory systems. (Details of the implementation are deferred to the full paper.)
Proximate point searching
 In Proceedings of the 14th Canadian Conference on Computational Geometry (CCCG
, 2002
"... In the 2D point searching problem, the goal is to preprocess n points P = {p1,..., pn} in the plane so that, for an online sequence of query points q1,..., qm, it can quickly determined which (if any) of the elements of P are equal to each query point qi. This problem can be solved in O(log n) time ..."
Abstract

Cited by 10 (4 self)
 Add to MetaCart
In the 2D point searching problem, the goal is to preprocess n points P = {p1,..., pn} in the plane so that, for an online sequence of query points q1,..., qm, it can quickly determined which (if any) of the elements of P are equal to each query point qi. This problem can be solved in O(log n) time by mapping the problem to one dimension. We present a data structure that is optimized for answering queries quickly when they are geometrically close to the previous successful query. Specifically, our data structure executes queries in time O(log d(qi−1, qi)), where d is some distance function between two points, and uses O(n log n) space. Our structure works with a variety of distance functions. In contrast, it is proved that, for some of the most intuitive distance functions d, it is impossible to obtain an O(log d(qi−1, qi)) runtime, or any bound that is o(log n).
Key independent optimality
 In International Symp. on Algorithms and Computation
, 2002
"... A new form of optimality for comparison based static dictionaries is introduced. This type of optimality, keyindependent optimality, is motivated by applications that assign key values randomly. It is shown that any data structure that is keyindependently optimal is expected to execute any access s ..."
Abstract

Cited by 9 (3 self)
 Add to MetaCart
(Show Context)
A new form of optimality for comparison based static dictionaries is introduced. This type of optimality, keyindependent optimality, is motivated by applications that assign key values randomly. It is shown that any data structure that is keyindependently optimal is expected to execute any access sequence where the key values are assigned arbitrarily to unordered data as fast as any offline binary search tree algorithm, within a multiplicative constant. Asymptotically tight upper and lower bounds are presented for keyindependent optimality. Splay trees are shown to be keyindependently optimal. 1
Deamortizing Binary Search Trees
 In Automata, Languages, and Programming  39th International Colloquium, ICALP 2012
"... We present a general method for deamortizing essentially any Binary Search Tree (BST) algorithm. In particular, by transforming Splay Trees, our method produces a BST that has the same asymptotic cost as Splay Trees on any access sequence while performing each search in O(log n) worst case time. By ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
(Show Context)
We present a general method for deamortizing essentially any Binary Search Tree (BST) algorithm. In particular, by transforming Splay Trees, our method produces a BST that has the same asymptotic cost as Splay Trees on any access sequence while performing each search in O(log n) worst case time. By transforming MultiSplay Trees, we obtain a BST that is O(log log n) competitive, satisfies the scanning theorem, the static optimality theorem, the static finger theorem, the working set theorem, and performs each search in O(log n) worst case time. Moreover, we prove that if there is a dynamically optimal BST algorithm, then there is a dynamically optimal BST algorithm that answers every search in O(log n) worst case time.
An Efficient File Hierarchy Walker
 In Proc. of the Summer '89 Usenix Conference
, 1989
"... This paper presents an interface specification and an efficient implementation of a general purpose library routine, ftwalk, to traverse a UNIX * file system hierarchy. A number of standard file system utilities, e.g., find, ls, rm, and others have been reimplemented using ftwalk. The total source c ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
(Show Context)
This paper presents an interface specification and an efficient implementation of a general purpose library routine, ftwalk, to traverse a UNIX * file system hierarchy. A number of standard file system utilities, e.g., find, ls, rm, and others have been reimplemented using ftwalk. The total source code size is 30 % smaller and the efficiency of all commands improves. More importantly, these commands now handle the file system search in a uniform, robust, and secure manner. New tools have been built with ftwalk. A file system perusing tool, tw, will be described. tw subsumes the functionality of find and xargs. Further, it provides a powerful expression language with a syntax similar to C. For typical applications in which commands are executed on generated file names, tw is 5 to 10 times faster than find. The combination of a powerful language and performance efficiency in tw should reduce the practice of adding directory recursion to commands. 1.
Experimental study of high performance priority queues
, 2007
"... The priority queue is a very important and widely used data structure in computer science, with a variety of applications including Dijkstra’s Single Source Shortest Path algorithm on sparse graph types. This study presents the experimental results of a variety of priority queues. The focus of the e ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
The priority queue is a very important and widely used data structure in computer science, with a variety of applications including Dijkstra’s Single Source Shortest Path algorithm on sparse graph types. This study presents the experimental results of a variety of priority queues. The focus of the experiments is to measure the speed and performance of highly specialized priority queues in outofcore and memory intensive situations. The priority queues are run incore on small input sizes as well as outofcore using large input sizes and restricted memory. The experiments compare a variety of wellknown priority queue implementations such as Binary Heap with highly specialized implementations, such as 4ary Aligned Heap, Chowdhury and Ramachandran’s Auxiliary Buffer Heap, and Fast Binary Heap. The experiments include CacheAware as well as CacheOblivious priority queues. The results indicate that the highperformance priority queues easily outperform traditional implementations. Also, overall the Auxiliary Buffer Heap has the best performance among the priority queues considered in most incore and outofcore situations.
Nearentropy hotlink assignments
 In Proceedings of the 14th Annual European Symposium on Algorithms (ESA
, 2006
"... Abstract. Consider a rooted tree T of arbitrary maximum degree d representing a collection of n web pages connected via a set of links, all reachable from a source home page represented by the root of T. Each web page i carries a weight wi representative of the frequency with which it is visited. By ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
Abstract. Consider a rooted tree T of arbitrary maximum degree d representing a collection of n web pages connected via a set of links, all reachable from a source home page represented by the root of T. Each web page i carries a weight wi representative of the frequency with which it is visited. By adding hotlinks — shortcuts from a node to one of its descendents — we wish to minimize the expected number of steps l needed to visit pages from the home page, expressed as a function of the entropy H(p) of the access probabilities p. This paper introduces several new strategies for effectively assigning hotlinks in a tree. For assigning exactly one hotlink per node, our method guarantees an upper bound on l of 1.141H(p)+1 if d> 2 and 1.08H(p)+2/3 if d = 2. We also present the first efficient general methods for assigning at most k hotlinks per node in trees of arbitrary maximum degree, achieving bounds on l of at most
KIST: A new encryption algorithm based on splay
"... In this paper, we proposed a new encryption algorithm called KIST. This algorithm uses an asynchronous key sequence and a splay tree. It is very efficient in the usage of both space and time. Some elementary security tests have been done. Key words asynchronous key sequence, splay tree, symmetric ke ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
In this paper, we proposed a new encryption algorithm called KIST. This algorithm uses an asynchronous key sequence and a splay tree. It is very efficient in the usage of both space and time. Some elementary security tests have been done. Key words asynchronous key sequence, splay tree, symmetric key encryption 1
Queaps
, 2002
"... We present a new priority queue data structure, the queap, that executes insertion in O(1) amortized time and extractmin in O(log(k + 2)) amortized time if there are k items that have been in the heap longer than the item to be extracted. Thus if the operations on the queap are rstin rstout ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
We present a new priority queue data structure, the queap, that executes insertion in O(1) amortized time and extractmin in O(log(k + 2)) amortized time if there are k items that have been in the heap longer than the item to be extracted. Thus if the operations on the queap are rstin rstout, as on a queue, each operation will execute in constant time. This idea of trying to make operations on the least recently accessed items fast, which we call the queueish property, is a natural complement to the working set property of certain data structures, such as splay trees and pairing heaps, where operations on the most recently accessed data execute quickly. However, we show that the queueish property is in some sense more dicult than the working set property by demonstrating that it is impossible to create a queueish binary search tree, but that many search data structures can be made almost queueish with a O(log log n) amortized extra cost per operation.