Results 1  10
of
20
An asymptotic theory for CauchyEuler differential equations with applications to the analysis of algorithms
, 2002
"... CauchyEuler differential equations surfaced naturally in a number of sorting and searching problems, notably in quicksort and binary search trees and their variations. Asymptotics of coefficients of functions satisfying such equations has been studied for several special cases in the literature. We ..."
Abstract

Cited by 24 (10 self)
 Add to MetaCart
CauchyEuler differential equations surfaced naturally in a number of sorting and searching problems, notably in quicksort and binary search trees and their variations. Asymptotics of coefficients of functions satisfying such equations has been studied for several special cases in the literature. We study in this paper the most general framework for CauchyEuler equations and propose an asymptotic theory that covers almost all applications where CauchyEuler equations appear. Our approach is very general and requires almost no background on differential equations. Indeed the whole theory can be stated in terms of recurrences instead of functions. Old and new applications of the theory are given. New phase changes of limit laws of new variations of quicksort are systematically derived. We apply our theory to about a dozen of diverse examples in quicksort, binary search trees, urn models, increasing trees, etc.
A Dynamic Data Structure for Approximate Range Searching
, 2010
"... In this paper, we introduce a simple, randomized dynamic datastructureforstoringmultidimensionalpointsets, called a quadtreap. This data structure is a randomized, balanced variant of a quadtree data structure. In particular, it defines a hierarchical decomposition of space into cells, which are bas ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
In this paper, we introduce a simple, randomized dynamic datastructureforstoringmultidimensionalpointsets, called a quadtreap. This data structure is a randomized, balanced variant of a quadtree data structure. In particular, it defines a hierarchical decomposition of space into cells, which are based on hyperrectangles of bounded aspect ratio, each of constant combinatorial complexity. It can be viewed as a multidimensional generalization of the treap data structure of Seidel and Aragon. When inserted, points are assigned random priorities, and the tree is restructured through rotations as if the points had been inserted in priority order. In any fixed dimension d, we show it is possible to store a set of n points in a quadtreap of space O(n). The height h of the tree is O(logn) with high probability. It supports point insertion in time O(h). It supports point deletion in worstcase time O(h 2) and expectedcase time O(h), averaged over the points of the tree. It can answer εapproximate spherical range counting queries over groups and approximate nearest neighbor queries in time O ( h+ ( 1 ε)d−1).
Selfadjusting of ternary search tries using conditional rotations and randomized heuristics
 Comput. J
, 2005
"... A Ternary Search Trie (TST) is a highly efficient dynamic dictionary structure applicable for strings and textual data. The strings are accessed based on a set of access probabilities and are to be arranged using a TST. We consider the scenario where the probabilities are not known a priori, and is ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
A Ternary Search Trie (TST) is a highly efficient dynamic dictionary structure applicable for strings and textual data. The strings are accessed based on a set of access probabilities and are to be arranged using a TST. We consider the scenario where the probabilities are not known a priori, and is timeinvariant. Our aim is to adaptively restructure the TST so as to yield the best access or retrieval time. Unlike the case of lists and binary search trees, where numerous methods have been proposed, in the case of the TST, currently, the number of reported adaptive schemes are few. In this paper, we consider various selforganizing schemes that were applied to Binary Search Trees, and apply them to TSTs. Three new schemes, which are the splaying, the conditional rotation and the randomization heuristics, have been proposed, tested and comparatively presented. The results demonstrate that the conditional rotation heuristic is the best when compared to other heuristics that are considered in the paper.
Untangling binary trees via rotations
 Comput. J
"... In this paper we present a polynomial time algorithm for finding the shortest sequence of rotations that converts one binary tree into another when both binary trees are of a restricted form. The initial tree must be a degenerate tree, where every node has exactly one child, and the destination bina ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
In this paper we present a polynomial time algorithm for finding the shortest sequence of rotations that converts one binary tree into another when both binary trees are of a restricted form. The initial tree must be a degenerate tree, where every node has exactly one child, and the destination binary tree must also be degenerate, of a more restricted nature. Previous work on rotation distance has focused on approximation algorithms. Our algorithm is the only known nontrivial polynomial time algorithm for exact rotation distance between special cases of binary trees. 1.
Indexing for dynamic abstract regions
 Intl. Conf. on Data Engineering
, 2006
"... regions (objects) which may heavily overlap, the RCtree. These objects are “dynamic ” and may have short life spans. The novelty is that rather than representing an object by its minimum bounding rectangle (MBR), possibly with preprocessed segmentation into many small MBRs, we use the actual shape ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
regions (objects) which may heavily overlap, the RCtree. These objects are “dynamic ” and may have short life spans. The novelty is that rather than representing an object by its minimum bounding rectangle (MBR), possibly with preprocessed segmentation into many small MBRs, we use the actual shape of the object to maintain the index. This saves significant space for objects with large spatial extents since presegmentation is not needed. We show that the query performance of RCtree is much better than many indexing schemes on synthetic overlapping data sets. The performance is also competitive on reallife GIS nonoverlapping data sets. 1
Putting your data structure on a diet
 In preparation (2006). [Ask Jyrki for details
, 2007
"... Abstract. Consider a data structure D that stores a dynamic collection of elements. Assume that D uses a linear number of words in addition to the elements stored. In this paper several datastructural transformations are described that can be used to transform D into another data structure D ′ that ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
Abstract. Consider a data structure D that stores a dynamic collection of elements. Assume that D uses a linear number of words in addition to the elements stored. In this paper several datastructural transformations are described that can be used to transform D into another data structure D ′ that supports the same operations as D, has considerably smaller memory overhead than D, and performs the supported operations by a small constant factor or a small additive term slower than D, depending on the data structure and operation in question. The compaction technique has been successfully applied for linked lists, dictionaries, and priority queues.
STRONGER QUICKHEAPS
"... The Quickheap (QH) is a recent data structure for implementing priority queues which has proved to be simple and efficient in practice. It has also been shown to offer logarithmic expected amortized complexity for all of its operations. Yet, this complexity holds only when keys inserted and deleted ..."
Abstract
 Add to MetaCart
The Quickheap (QH) is a recent data structure for implementing priority queues which has proved to be simple and efficient in practice. It has also been shown to offer logarithmic expected amortized complexity for all of its operations. Yet, this complexity holds only when keys inserted and deleted are uniformly distributed over the current set of keys. This assumption is in many cases difficult to verify, and does not hold in some important applications such as implementing some minimum spanning tree algorithms using priority queues. In this paper we introduce an elegant model called a Leftmost Skeleton Tree (LST) that reveals the connection between QHs and randomized binary search trees, and allows us to define Randomized QHs. We prove that these offer logarithmic expected amortized complexity for all operations regardless of the input distribution. We also use LSTs in connection to αbalanced trees to achieve a practical αBalanced QH that offers worstcase amortized logarithmic time bounds for all the operations. Both variants are much more robust than the original QHs. We show experimentally that randomized QHs behave almost as efficiently as QHs on random inputs, and that they retain their good performance on inputs where that of QHs degrades.
Open Data Structures (in C++)
"... I am grateful to Nima Hoda, who spent a summer tirelessly proofreading many of the chapters in this book, and to the students in the Fall 2011 offering of COMP2402/2002, who put up with the first draft of this book and spotted many typographic, grammatical, and factual errors in the first draft. i P ..."
Abstract
 Add to MetaCart
I am grateful to Nima Hoda, who spent a summer tirelessly proofreading many of the chapters in this book, and to the students in the Fall 2011 offering of COMP2402/2002, who put up with the first draft of this book and spotted many typographic, grammatical, and factual errors in the first draft. i Preface to the C++ Edition This book is intended to teach the design and analysis of basic data structures and their implementation in an objectoriented language. In this edition, the language happens to be C++. This book is not intended to act as an introduction to the C++ programming language. Readers of this book need only be familiar with the basic syntax of C++ and similar languages. Those wishing to work with the accompanying source code should have some experience programming in C++. This book is also not intended as an introduction to the C++ Standard Template Library or the generic programming paradigm that the STL embodies. This book describes implementations of several different data structures, many of which are used in implementations
Open Data Structures (in Java)
"... I am grateful to Nima Hoda, who spent a summer tirelessly proofreading many of the chapters in this book, and to the students in the Fall 2011 offering of COMP2402/2002, who put up with the first draft of this book and spotted many typographic, grammatical, and factual errors in the first draft. i W ..."
Abstract
 Add to MetaCart
I am grateful to Nima Hoda, who spent a summer tirelessly proofreading many of the chapters in this book, and to the students in the Fall 2011 offering of COMP2402/2002, who put up with the first draft of this book and spotted many typographic, grammatical, and factual errors in the first draft. i Why This Book? There are plenty of books that teach introductory data structures. Some of them are very good. Most of them cost money, and the vast majority of computer science undergraduate students will shellout at least some cash on a data structures book. Thereareafewfreedatastructuresbooksavailableonline. Someareverygood,but most of them are getting old. The majority of these books became free when the author and/or publisher decided to stop updating them. Updating these books is usually not
1 A Flexible Privacy enhanced Location Based Services System Framework and Practice
"... Location based services (LBS) are becoming increasingly important to the success and attractiveness of next generation wireless systems. However, a natural tension arises between the need for user privacy and the flexible use of location information. In this paper we present a framework to support p ..."
Abstract
 Add to MetaCart
Location based services (LBS) are becoming increasingly important to the success and attractiveness of next generation wireless systems. However, a natural tension arises between the need for user privacy and the flexible use of location information. In this paper we present a framework to support privacy enhanced location based services. We classify the services according to several basic criteria and we propose a hierarchical key distribution method to support these services. The main idea behind the system is to hierarchically encrypt location information under different keys, and distribute the appropriate keys only to group members with the necessary permission. Four methods are proposed to deliver hierarchical location information while maintaining privacy. We propose a key tree rebalancing algorithm to maintain the rekeying performance of the group key management. Furthermore, we present a practical LBS system implementation. Hierarchical location information coding offers flexible location information access which enables a rich set of location based services. Our load tests show such a system is highly practical with good efficiency and scalability. I.