Results 1 - 10
of
12
Purely Functional, Real-Time Deques with Catenation
- Journal of the ACM
, 1999
"... We describe an efficient, purely functional implementation of deques with catenation. In addition to being an intriguing problem in its own right, finding a purely functional implementation of catenable deques is required to add certain sophisticated programming constructs to functional programming ..."
Abstract
-
Cited by 12 (2 self)
- Add to MetaCart
We describe an efficient, purely functional implementation of deques with catenation. In addition to being an intriguing problem in its own right, finding a purely functional implementation of catenable deques is required to add certain sophisticated programming constructs to functional programming languages. Our solution has a worst-case running time of O(1) for each push, pop, inject, eject and catenation. The best previously known solution has an O(log k) time bound for the k deque operation. Our solution is not only faster but simpler. A key idea used in our result is an algorithmic technique related to the redundant digital representations used to avoid carry propagation in binary counting.
Optimal Finger Search Trees in the Pointer Machine
, 2002
"... We develop a new finger search tree with worst case constant update time in the Pointer Machine (PM) model of computation. This was a major problem in the field of Data Structures and was tantalizingly open for over twenty years, while many attempts by researchers were made to solve it. The result c ..."
Abstract
-
Cited by 9 (2 self)
- Add to MetaCart
We develop a new finger search tree with worst case constant update time in the Pointer Machine (PM) model of computation. This was a major problem in the field of Data Structures and was tantalizingly open for over twenty years, while many attempts by researchers were made to solve it. The result comes as a consequence of the innovative mechanism that guides the rebalancing operations, combined with incremental multiple splitting and fusion techniques over nodes.
Two-tier relaxed heaps
- Proceedings of the 17th International Symposium on Algorithms and Computation, Lecture Notes in Computer Science 4288, Springer-Verlag
, 2006
"... Abstract. We introduce an adaptation of run-relaxed heaps which provides efficient heap operations with respect to the number of element comparisons performed. Our data structure guarantees the worst-case cost of O(1) for find-min, insert, and decrease; and the worst-case cost of O(lg n) with at mos ..."
Abstract
-
Cited by 9 (8 self)
- Add to MetaCart
Abstract. We introduce an adaptation of run-relaxed heaps which provides efficient heap operations with respect to the number of element comparisons performed. Our data structure guarantees the worst-case cost of O(1) for find-min, insert, and decrease; and the worst-case cost of O(lg n) with at most lg n + 3 lg lg n + O(1) element comparisons for delete, improving the bound of 3lg n + O(1) on the number of element comparisons known for run-relaxed heaps. Here, n denotes the number of elements stored prior to the operation in question, and lg n equals max {1, log 2 n}. 1
A framework for speeding up priorityqueue operations
, 2004
"... Abstract. We introduce a framework for reducing the number of element comparisons performed in priority-queue operations. In particular, we give a priority queue which guarantees the worst-case cost of O(1) per minimum finding and insertion, and the worst-case cost of O(log n) with at most log n + O ..."
Abstract
-
Cited by 8 (8 self)
- Add to MetaCart
Abstract. We introduce a framework for reducing the number of element comparisons performed in priority-queue operations. In particular, we give a priority queue which guarantees the worst-case cost of O(1) per minimum finding and insertion, and the worst-case cost of O(log n) with at most log n + O(1) element comparisons per minimum deletion and deletion, improving the bound of 2log n + O(1) on the number of element comparisons known for binomial queues. Here, n denotes the number of elements stored in the data structure prior to the operation in question, and log n equals max {1,log 2 n}. We also give a priority queue that provides, in addition to the above-mentioned methods, the priority-decrease (or decrease-key) method. This priority queue achieves the worst-case cost of O(1) per minimum finding, insertion, and priority decrease; and the worst-case cost of O(log n) with at most log n + O(log log n) element comparisons per minimum deletion and deletion. CR Classification. E.1 [Data Structures]: Lists, stacks, and queues; E.2 [Data
Persistent data structures
- IN HANDBOOK ON DATA STRUCTURES AND APPLICATIONS, CRC PRESS 2001, DINESH MEHTA AND SARTAJ SAHNI (EDITORS) BOROUJERDI, A., AND MORET, B.M.E., "PERSISTENCY IN COMPUTATIONAL GEOMETRY," PROC. 7TH CANADIAN CONF. COMP. GEOMETRY, QUEBEC
, 1995
"... ..."
Numerical Representations as Higher-Order Nested Datatypes
, 1998
"... Number systems serve admirably as templates for container types: a container object of size n is modelled after the representation of the number n and operations on container objects are modelled after their number-theoretic counterparts. Binomial queues are probably the first data structure that wa ..."
Abstract
-
Cited by 5 (2 self)
- Add to MetaCart
Number systems serve admirably as templates for container types: a container object of size n is modelled after the representation of the number n and operations on container objects are modelled after their number-theoretic counterparts. Binomial queues are probably the first data structure that was designed with this analogy in mind. In this paper we show how to express these so-called numerical representations as higher-order nested datatypes. A nested datatype allows to capture the structural invariants of a numerical representation, so that the violation of an invariant can be detected at compile-time. We develop a programming method which allows to adapt algorithms to the new representation in a mostly straightforward manner. The framework is employed to implement three different container types: binary random-access lists, binomial queues, and 2-3 finger search trees. The latter data structure, which is treated in some depth, can be seen as the main innovation from a data-struct...
Relaxed weak queues: an alternative to run-relaxed heaps
, 2005
"... Abstract. A simplification of a run-relaxed heap, called a relaxed weak queue, is presented. This new priority-queue implementation supports all operations as efficiently as the original: find-min, insert, and decrease (also called decrease-key) in O(1) worst-case time, and delete in O(lg n) worst-c ..."
Abstract
-
Cited by 3 (3 self)
- Add to MetaCart
Abstract. A simplification of a run-relaxed heap, called a relaxed weak queue, is presented. This new priority-queue implementation supports all operations as efficiently as the original: find-min, insert, and decrease (also called decrease-key) in O(1) worst-case time, and delete in O(lg n) worst-case time, n denoting the number of elements stored prior to the operation. These time bounds are valid on a pointer machine as well as on a random-access machine. A relaxed weak queue is a collection of at most ⌊lg n ⌋ + 1 perfect weak heaps, where there are in total at most ⌊lg n ⌋ + 1 nodes that may violate weak-heap order. In a pointer-based representation of a perfect weak heap, which is a binary tree, it is enough to use two pointers per node to record parent-child relationships. Due to decrease, each node must store one additional pointer. The auxiliary data structures maintained to keep track of perfect weak heaps and potential violation nodes only require O(lg n) words of storage. That is, excluding the space used by the elements themselves, the total space usage of a relaxed weak queue can be as low as 3n + O(lg n) words. ACM CCS Categories and Subject Descriptors. E.1 [Data Structures]: Lists, stacks, and queues; E.2 [Data Storage Representations]: Linked representations;
LR-tree: a Logarithmic Decomposable Spatial Index Method
, 2003
"... this paper, we present LR-trees, a new efficient scheme for dynamic manipulation of large datasets, which combines the search performance of the bulkloaded R-trees with the updated performance of R # -trees. Experimental results provide evidence on the latter statement and illustrate the superior ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
this paper, we present LR-trees, a new efficient scheme for dynamic manipulation of large datasets, which combines the search performance of the bulkloaded R-trees with the updated performance of R # -trees. Experimental results provide evidence on the latter statement and illustrate the superiority of the proposed method
Macros Writing numbers in words in TEX
"... We present TEX macros to write integers, even extremely large integers, in words according to the American English nomenclature [2, pp. 12 and 22– 24], [3, p. 1549]; the method here is easily adapted to the British English nomenclature, or that of other languages. The imaginative nomenclatures of [1 ..."
Abstract
- Add to MetaCart
We present TEX macros to write integers, even extremely large integers, in words according to the American English nomenclature [2, pp. 12 and 22– 24], [3, p. 1549]; the method here is easily adapted to the British English nomenclature, or that of other languages. The imaginative nomenclatures of [1, pp. 14–15] or [4, pp. 311–312] are also easy to accommodate with the ideas presented here. Although macros for writing numbers in words are already available on CTAN, none of them has the generality of those presented here. Our approach, which covers the full range of American English, (−1066, 1066), is based on [6, sec. 8.1]; [5, p. 6] has a similar method. We want to be able to capitalize the first word produced, as well as insert spaces, commas, and hyphens between words appropriately. Because the words produced are written by various macros and at various levels of recursion, we centralize the production of text by calling a macro \@String that does the actual insertion of the word into the output. We use global flags to indicate whether the next word produced will be the first word (which should not be preceded by a space and which may need to be capitalized),
TEX Users Group. Memberships and Subscriptions 2007 dues for individual members are as follows:
"... The discounted rate of $45 is also available to citizens of countries with modest economies, as detailed on our web site. Membership in the TEX Users Group is for the calendar year, and includes all issues of TUGboat for the year in which membership begins or is renewed, as well as software distribu ..."
Abstract
- Add to MetaCart
The discounted rate of $45 is also available to citizens of countries with modest economies, as detailed on our web site. Membership in the TEX Users Group is for the calendar year, and includes all issues of TUGboat for the year in which membership begins or is renewed, as well as software distributions and other benefits. Individual membership is open only to named individuals, and carries with it such rights and responsibilities as voting in TUG elections. For membership information, visit the TUG web site. Also, (non-voting) TUGboat subscriptions are available to organizations and others wishing to receive TUGboat in a name other than that of an individual. The subscription rate is $95 per year,

