Results 11  20
of
42
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 10 (3 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.
Constructing RedBlack Trees
, 1999
"... This paper explores the structure of redblack trees by solving an apparently simple problem: given an ascending sequence of elements, construct a redblack tree which contains the elements in symmetric order. Several extreme redblack tree shapes are characterized: trees of minimum and maximum heig ..."
Abstract

Cited by 9 (3 self)
 Add to MetaCart
This paper explores the structure of redblack trees by solving an apparently simple problem: given an ascending sequence of elements, construct a redblack tree which contains the elements in symmetric order. Several extreme redblack tree shapes are characterized: trees of minimum and maximum height, trees with a minimal and with a maximal proportion of red nodes. These characterizations are obtained by relating tree shapes to various number systems. In addition, connections to leftcomplete trees, AVL trees, and halfbalanced trees are highlighted. 1 Introduction Redblack trees are an elegant searchtree scheme that guarantees O(log n) worstcase running time of basic dynamicset operations. Recently, C. Okasaki (1998; 1999) presented an impressively simple functional implementation of redblack trees. In this paper we plunge deeper into the structure of redblack trees by solving an apparently simple problem: given an ascending sequence of elements, construct a redblack tree whic...
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 8 (2 self)
 Add to MetaCart
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
Multiple Templates Access of Trees in Parallel Memory Systems
 Proc. of Intern. Parallel Processing Symp. (IPPS
, 1998
"... We study the problem of mapping the N nodes of a data structure on M memory modules so that they can be accessed in parallel by templates i.e. distinct sets of nodes. In literature several algorithms are available for arrays (accessed by rows, columns, diagonals and subarrays) and trees (accessed ..."
Abstract

Cited by 6 (4 self)
 Add to MetaCart
We study the problem of mapping the N nodes of a data structure on M memory modules so that they can be accessed in parallel by templates i.e. distinct sets of nodes. In literature several algorithms are available for arrays (accessed by rows, columns, diagonals and subarrays) and trees (accessed by subtrees, roottoleaf paths, levels, etc.). Although some mapping algorithms for arrays allow conflictfree access to several templates at once (for example rows and columns), no mapping algorithm is known for efficiently accessing subtree, path and level templates in complete binary trees. In our paper, we, first, prove that any mapping algorithm that is conflictfree for tree/level template has \Omega\Gamma M= log M ) conflicts when access is done according to path template and vice versa. Therefore, no mapping algorithm can be found that is conflictfree on both path and tree (or path and level) templates. Our main result is an algorithm for mapping complete binary trees wi...
Finger Search Trees
, 2005
"... One of the most studied problems in computer science is the problem of maintaining a sorted sequence of elements to facilitate efficient searches. The prominent solution to the problem is to organize the sorted sequence as a balanced search tree, enabling insertions, deletions and searches in logari ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
One of the most studied problems in computer science is the problem of maintaining a sorted sequence of elements to facilitate efficient searches. The prominent solution to the problem is to organize the sorted sequence as a balanced search tree, enabling insertions, deletions and searches in logarithmic time. Many different search trees have been developed and studied intensively in the literature. A discussion of balanced binary search trees can e.g. be found in [4]. This chapter is devoted to finger search trees which are search trees supporting fingers, i.e. pointers, to elements in the search trees and supporting efficient updates and searches in the vicinity of the fingers. If the sorted sequence is a static set of n elements then a simple and space efficient representation is a sorted array. Searches can be performed by binary search using 1+⌊log n⌋ comparisons (we throughout this chapter let log x denote log 2 max{2, x}). A finger search starting at a particular element of the array can be performed by an exponential search by inspecting elements at distance 2 i − 1 from the finger for increasing i followed by a binary search in a range of 2 ⌊log d ⌋ − 1 elements, where d is the rank difference in the sequence between the finger and the search element. In Figure 11.1 is shown an exponential search for the element 42 starting at 5. In the example d = 20. An exponential search requires
On adaptive integer sorting
 In 12th Annual European Symposium on Algorithms, ESA 2004
, 2004
"... Abstract. This paper considers integer sorting on a RAM. We show that adaptive sorting of a sequence with qn inversions is asymptotically equivalent to multisorting groups of at most q keys, and a total of n keys. Using the recent O(n √ log log n) expected time sorting of Han and Thorup on each set, ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
Abstract. This paper considers integer sorting on a RAM. We show that adaptive sorting of a sequence with qn inversions is asymptotically equivalent to multisorting groups of at most q keys, and a total of n keys. Using the recent O(n √ log log n) expected time sorting of Han and Thorup on each set, we immediately get an adaptive expected sorting time of O(n √ log log q). Interestingly, for any positive constant ε, we show that multisorting and adaptive inversion sorting can be performed in (log n)1−ε linear time if q ≤ 2. We also show how to asymptotically improve the running time of any traditional sorting algorithm on a class of inputs much broader than those with few inversions. 1
Compatible Embedding for 2D Shape Animation
 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS
, 2008
"... Abstract—We present new algorithms for the compatible embedding of 2D shapes. Such embeddings offer a convenient way to interpolate shapes having complex, detailed features. Compared to existing techniques, our approach requires less user input, is faster, more robust, and simpler to implement, maki ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
Abstract—We present new algorithms for the compatible embedding of 2D shapes. Such embeddings offer a convenient way to interpolate shapes having complex, detailed features. Compared to existing techniques, our approach requires less user input, is faster, more robust, and simpler to implement, making it ideal for interactive use in practical applications. Our new approach consists of three parts. First, our boundary matching algorithm locates salient features using the perceptuallymotivated principles of scalespace and uses these as automatic correspondences to guide an elastic curve matching algorithm. Second, we simplify boundaries while maintaining their parametric correspondence and the embedding of the original shapes. Finally, we extend the mapping to shapes ’ interiors via a new compatible triangulation algorithm. The combination of our algorithms allows us to demonstrate 2D shape interpolation with instant feedback. The proposed algorithms exhibit a combination of simplicity, speed, and accuracy that has not been achieved in previous work.
Toward a Universal Mapping Algorithm for Accessing Trees in Parallel Memory Systems
, 1998
"... We study the problem of mapping the N nodes of a complete tary tree on M memory modules so that they can be accessed in parallel by templates, i.e. distinct sets of nodes. Typical templates for accessing trees are subtrees, roottoleaf paths, or levels which will be referred to as elementary templ ..."
Abstract

Cited by 4 (3 self)
 Add to MetaCart
We study the problem of mapping the N nodes of a complete tary tree on M memory modules so that they can be accessed in parallel by templates, i.e. distinct sets of nodes. Typical templates for accessing trees are subtrees, roottoleaf paths, or levels which will be referred to as elementary templates. In this paper, we first propose a new mapping algorithm for accessing both paths and subtrees of size M with an optimal number of conflicts (i.e., only one conflict) when the number of memory modules is limited to M . We also propose another mapping algorithm for a composite template, say V (as versatile), such that its size is not fixed and an instance of V is composed of any combination of c instances of elementary templates. The number of conflicts for accessing an Snode instance of template V is O ` S p M log M + c ' and the memory load is 1 + o(1) where load is defined as the ratio between the maximum and minimum number of data items mapped onto each memory module. 1. In...
Adaptive comparisonbased algorithms for evaluating set queries
, 2004
"... c○Mehdi Mirzazadeh 2004I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, including any required final revisions, as accepted by my examiners. I understand that my thesis may be made electronically available to the public. In this thesis we study a problem ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
c○Mehdi Mirzazadeh 2004I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, including any required final revisions, as accepted by my examiners. I understand that my thesis may be made electronically available to the public. In this thesis we study a problem that arises in answering boolean queries submitted to a search engine. Usually a search engine stores the set of IDs of documents containing each word in a precomputed sorted order and to evaluate a query like “computer AND science ” the search engine has to evaluate the union of the sets of documents containing the words “computer ” and “science”. More complex queries will result in more complex set expressions. In this thesis we consider the problem of evaluation of a set expression with union and intersection as operators and ordered sets as operands. We explore properties of comparisonbased algorithms for the problem. A proof of a set expression is the set of comparisons that a comparisonbased algorithm performs before it can determine the result of the expression. We discuss the properties of the proofs of set expressions and based on how complex the smallest proofs of a set expression E are, we define a measurement for determining how difficult it is for E to be computed. Then, we design an algorithm that is adaptive to the difficulty of the input expression and we show that the running time of the algorithm is roughly proportional to difficulty of the input expression, where the factor is roughly logarithmic in the number of the operands of the input expression. Key words: Adaptive algorithm, comparisonbased algorithm, search engines, algorithms.
Shortest Paths with SinglePoint Visibility Constraints
"... This paper studies the problem of finding the shortest path between two points in presence of singlepoint visibility constraints. In this type of constraints, there should be at least one point on the output path from which a fixed viewpoint is visible. The problem is studied in various domains ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
This paper studies the problem of finding the shortest path between two points in presence of singlepoint visibility constraints. In this type of constraints, there should be at least one point on the output path from which a fixed viewpoint is visible. The problem is studied in various domains including simple polygons, polygonal domains, polyhedral surfaces. The method is based on partitioning the boundary of the visibility region to a number of intervals according to shortest path structure of their points to both source and destination. The result for the two dimensional domains is worstcase optimal