Results 1 
5 of
5
Applications of forbidden 01 matrices to search tree and path compression based data structures
, 2009
"... In this paper we improve, reprove, and simplify a variety of theorems concerning the performance of data structures based on path compression and search trees. We apply a technique very familiar to computational geometers but still foreign to many researchers in (nongeometric) algorithms and data s ..."
Abstract

Cited by 6 (5 self)
 Add to MetaCart
In this paper we improve, reprove, and simplify a variety of theorems concerning the performance of data structures based on path compression and search trees. We apply a technique very familiar to computational geometers but still foreign to many researchers in (nongeometric) algorithms and data structures, namely, to bound the complexity of an object via its forbidden substructures. To analyze an algorithm or data structure in the forbidden substructure framework one proceeds in three discrete steps. First, one transcribes the behavior of the algorithm as some combinatorial object M; for example, M may be a graph, sequence, permutation, matrix, set system, or tree. (The size of M should ideally be linear in the running time.) Second, one shows that M excludes some forbidden substructure P, and third, one bounds the size of any object avoiding this substructure. The power of this framework derives from the fact that M lies in a more pristine environment and that upper bounds on the size of a Pfree object M may be reused in different contexts. All of our proofs begin by transcribing the individual operations of a dynamic data structure
The filterkruskal minimum spanning tree algorithm
, 2009
"... We present FilterKruskal – a simple modification of Kruskal’s algorithm that avoids sorting edges that are “obviously” not in the MST. For arbitrary graphs with random edge weights FilterKruskal runs in time O (m + n lognlog m n, i.e. in linear time for not too sparse graphs. Experiments indicate ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
We present FilterKruskal – a simple modification of Kruskal’s algorithm that avoids sorting edges that are “obviously” not in the MST. For arbitrary graphs with random edge weights FilterKruskal runs in time O (m + n lognlog m n, i.e. in linear time for not too sparse graphs. Experiments indicate that the algorithm has very good practical performance over the entire range of edge densities. An equally simple parallelization seems to be the currently best practical algorithm on multicore machines.
UnionFind with Constant Time Deletions
"... A unionfind data structure maintains a collection of disjoint sets under makeset, union and find operations. Kaplan, Shafrir and Tarjan [SODA 2002] designed data structures for an extension of the unionfind problem in which elements of the sets maintained may be deleted. The cost of a delete opera ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
A unionfind data structure maintains a collection of disjoint sets under makeset, union and find operations. Kaplan, Shafrir and Tarjan [SODA 2002] designed data structures for an extension of the unionfind problem in which elements of the sets maintained may be deleted. The cost of a delete operation in their implementations is the same as the cost of a find operation. They left open the question whether delete operations can be implemented more efficiently than find operations. We resolve this open problem by presenting a relatively simple modification of the classical unionfind data structure that supports delete, aswell as makeset and union, operations in constant time, while still supporting find operations in O(log n) worstcase time and O(α(n)) amortized time, where n is the number of elements in the set returned by the find operation, and α(n) is a functional inverse of Ackermann’s function.
I/OEfficient Batched UnionFind and Its . . .
"... Despite extensive study over the last four decades and numerous applications, no I/Oefficient algorithm is known for the unionfind problem. In this paper we present an I/Oefficient algorithm for the batched (offline) version of the unionfind problem. Given any sequence of N mixed union andfin ..."
Abstract
 Add to MetaCart
Despite extensive study over the last four decades and numerous applications, no I/Oefficient algorithm is known for the unionfind problem. In this paper we present an I/Oefficient algorithm for the batched (offline) version of the unionfind problem. Given any sequence of N mixed union andfind operations, where each union operation joins two distinct sets, our algorithm uses O(SORT(N)) = O ( NB logM/B NB) I/Os, where M is the memory size and B is the disk block size. This bound isasymptotically optimal in the worst case. If there are union operations that join a set with itself, our algorithm uses O(SORT(N) + MST(N)) I/Os, where MST(N) is the number of I/Os needed to compute the minimum spanning tree of a graph with N edges. We also describe a simple and practical O(SORT(N) log ( NM))I/O algorithm, which we have implemented.The main motivation for our study of the unionfind problem arises from problems in terrain analysis. A terrain can be abstracted as a height function defined over R2, and many problems that deal with suchfunctions require a unionfind data structure. With the emergence of modern mapping technologies, huge amount of data is being generated that is too large to fit in memory, thus I/Oefficient algorithmsare needed to process this data efficiently. In this paper, we study two terrain analysis problems that benefit from a unionfind data structure: (i) computing topological persistence and (ii) constructing thecontour tree. We give the first O(SORT(N))I/O algorithms for these two problems, assuming that theinput terrain is represented as a triangular mesh with N vertices.Finally, we report some preliminary experimental results, showing that our algorithms give orderofmagnitude improvement over previous methods on large data sets that do not fit in memory.
Topics in Algorithms  Data Structures and . . .
, 2005
"... This dissertation is divided into two parts. Part I concerns algorithms and data structures on trees or involving trees. Here we study three different problems: efficient binary dispatching in objectoriented languages, tree inclusion, and unionfind with deletions. The results in Part II fall wit ..."
Abstract
 Add to MetaCart
This dissertation is divided into two parts. Part I concerns algorithms and data structures on trees or involving trees. Here we study three different problems: efficient binary dispatching in objectoriented languages, tree inclusion, and unionfind with deletions. The results in Part II fall within the heading of approximation algorithms. Here we study variants of the kcenter problem and hardness of approximation of the dialaride problem. Binary Dispatching The dispatching problem for object oriented languages is the problem of determining the most specialized method to invoke for calls at runtime. This can be a critical component of execution performance. The unary dispatching problem is equivalent to the tree color problem. The binary dispatching problem can be seen as a 2dimensional generalization of the tree color problem which we call the bridge color problem. We give