Results 1  10
of
142
A Guided Tour to Approximate String Matching
 ACM Computing Surveys
, 1999
"... We survey the current techniques to cope with the problem of string matching allowing errors. This is becoming a more and more relevant issue for many fast growing areas such as information retrieval and computational biology. We focus on online searching and mostly on edit distance, explaining t ..."
Abstract

Cited by 401 (38 self)
 Add to MetaCart
We survey the current techniques to cope with the problem of string matching allowing errors. This is becoming a more and more relevant issue for many fast growing areas such as information retrieval and computational biology. We focus on online searching and mostly on edit distance, explaining the problem and its relevance, its statistical behavior, its history and current developments, and the central ideas of the algorithms and their complexities. We present a number of experiments to compare the performance of the different algorithms and show which are the best choices according to each case. We conclude with some future work directions and open problems. 1
The LCA problem revisited
 In Latin American Theoretical INformatics
, 2000
"... Abstract. We present a very simple algorithm for the Least Common Ancestors problem. We thus dispel the frequently held notion that optimal LCA computation is unwieldy and unimplementable. Interestingly, this algorithm is a sequentialization of a previously known PRAM algorithm. 1 ..."
Abstract

Cited by 181 (6 self)
 Add to MetaCart
Abstract. We present a very simple algorithm for the Least Common Ancestors problem. We thus dispel the frequently held notion that optimal LCA computation is unwieldy and unimplementable. Interestingly, this algorithm is a sequentialization of a previously known PRAM algorithm. 1
Efficient keyword search for smallest LCAs in XML databases
 In SIGMOD
, 2005
"... Keyword search is a proven, userfriendly way to query HTML documents in the World Wide Web. We propose keyword search in XML documents, modeled as labeled trees, and describe corresponding efficient algorithms. The proposed keyword search returns ..."
Abstract

Cited by 117 (7 self)
 Add to MetaCart
Keyword search is a proven, userfriendly way to query HTML documents in the World Wide Web. We propose keyword search in XML documents, modeled as labeled trees, and describe corresponding efficient algorithms. The proposed keyword search returns
Ambivalent Data Structures For Dynamic 2EdgeConnectivity And k Smallest Spanning Trees
 SIAM J. Comput
, 1991
"... . Ambivalent data structures are presented for several problems on undirected graphs. These data structures are used in finding the k smallest spanning trees of a weighted undirected graph in O(m log #(m, n) + min{k 3/2 ,km 1/2 }) time, where m is the number of edges and n the number of vertice ..."
Abstract

Cited by 80 (1 self)
 Add to MetaCart
. Ambivalent data structures are presented for several problems on undirected graphs. These data structures are used in finding the k smallest spanning trees of a weighted undirected graph in O(m log #(m, n) + min{k 3/2 ,km 1/2 }) time, where m is the number of edges and n the number of vertices in the graph. The techniques are extended to find the k smallest spanning trees in an embedded planar graph in O(n + k(log n) 3 ) time. Ambivalent data structures are also used to dynamically maintain 2edgeconnectivity information. Edges and vertices can be inserted or deleted in O(m 1/2 ) time, and a query as to whether two vertices are in the same 2edgeconnected component can be answered in O(log n) time, where m and n are understood to be the current number of edges and vertices, respectively. Key words. analysis of algorithms, data structures, embedded planar graph, fully persistent data structures, k smallest spanning trees, minimum spanning tree, online updating, topology tr...
Nearest Common Ancestors: A survey and a new distributed algorithm
, 2002
"... Several papers describe linear time algorithms to preprocess a tree, such that one can answer subsequent nearest common ancestor queries in constant time. Here, we survey these algorithms and related results. A common idea used by all the algorithms for the problem is that a solution for complete ba ..."
Abstract

Cited by 76 (12 self)
 Add to MetaCart
Several papers describe linear time algorithms to preprocess a tree, such that one can answer subsequent nearest common ancestor queries in constant time. Here, we survey these algorithms and related results. A common idea used by all the algorithms for the problem is that a solution for complete balanced binary trees is straightforward. Furthermore, for complete balanced binary trees we can easily solve the problem in a distributed way by labeling the nodes of the tree such that from the labels of two nodes alone one can compute the label of their nearest common ancestor. Whether it is possible to distribute the data structure into short labels associated with the nodes is important for several applications such as routing. Therefore, related labeling problems have received a lot of attention recently.
Minimum Cuts in NearLinear Time
, 1999
"... We significantly improve known time bounds for solving the minimum cut problem on undirected graphs. We use a "semiduality" between minimum cuts and maximum spanning tree packings combined with our previously developed random sampling techniques. We give a randomized (Monte Carlo) algorithm that fi ..."
Abstract

Cited by 70 (10 self)
 Add to MetaCart
We significantly improve known time bounds for solving the minimum cut problem on undirected graphs. We use a "semiduality" between minimum cuts and maximum spanning tree packings combined with our previously developed random sampling techniques. We give a randomized (Monte Carlo) algorithm that finds a minimum cut in an medge, nvertex graph with high probability in O(m log³ n) time. We also give a simpler randomized algorithm that finds all minimum cuts with high probability in O(n² log n) time. This variant has an optimal RNC parallelization. Both variants improve on the previous best time bound of O(n² log³ n). Other applications of the treepacking approach are new, nearly tight bounds on the number of near minimum cuts a graph may have and a new data structure for representing them in a spaceefficient manner.
From Gene Trees to Species Trees
, 1998
"... This paper studies various algorithmic issues in reconstructing a species tree from gene trees under the duplication and the mutation cost model. This is a fundamental problem in computational molecular biology. Our main results are as follows. 1. A linear time algorithm is presented for computing a ..."
Abstract

Cited by 60 (3 self)
 Add to MetaCart
This paper studies various algorithmic issues in reconstructing a species tree from gene trees under the duplication and the mutation cost model. This is a fundamental problem in computational molecular biology. Our main results are as follows. 1. A linear time algorithm is presented for computing all the losses in duplications associated with the least common ancestor mapping from a gene tree to a species tree. This answers a problem raised recently by Eulenstein et al. (1998). 2. The complexity of finding an optimal species tree from gene trees is studied. The problem is proved to be NPhard for the duplication cost and for the mutation cost. Further, the concept of reconciled trees was introduced by Goodman et al. and formalized by Page for visualizing the relationship between gene and species trees. We show that constructing an optimal reconciled tree for gene trees is also NPhard. Finally, we consider a general reconstruction problem and show it to be NPhard even for the wellkn...
StraightLine Drawing Algorithms for Hierarchical Graphs and Clustered Graphs
 Algorithmica
, 1999
"... Hierarchical graphs and clustered graphs are useful nonclassical graph models for structured relational information. Hierarchical graphs are graphs with layering structures; clustered graphs are graphs with recursive clustering structures. Both have applications in CASE tools, software visualizatio ..."
Abstract

Cited by 59 (12 self)
 Add to MetaCart
Hierarchical graphs and clustered graphs are useful nonclassical graph models for structured relational information. Hierarchical graphs are graphs with layering structures; clustered graphs are graphs with recursive clustering structures. Both have applications in CASE tools, software visualization, and VLSI design. Drawing algorithms for hierarchical graphs have been well investigated. However, the problem of straightline representation has not been solved completely. In this paper, we answer the question: does every planar hierarchical graph admit a planar straightline hierarchical drawing? We present an algorithm that constructs such drawings in linear time. Also, we answer a basic question for clustered graphs, that is, does every planar clustered graph admit a planar straightline drawing with clusters drawn as convex polygons? We provide a method for such drawings based on our algorithm for hierarchical graphs.
Optimal preprocessing for answering online product queries
, 1987
"... We examine the amount of preprocessing needed for answering certain online queries as fast as possible. We start with the following basic problem. Suppose we are given a semigroup (S,°). Let s 1,..., sn be elements of S. We want to answer online queries of the form, "What is the product s i°s ..."
Abstract

Cited by 56 (3 self)
 Add to MetaCart
We examine the amount of preprocessing needed for answering certain online queries as fast as possible. We start with the following basic problem. Suppose we are given a semigroup (S,°). Let s 1,..., sn be elements of S. We want to answer online queries of the form, "What is the product s i°s i +1 ° j −1 j n 1... °s °s? " for any give ≤ i ≤ j ≤ n. We show that a preprocessing of Θ(n λ(k,n)) time and space is both necessary and sufficient to answer each such query in at most k steps, for any fixed k. The function λ(k,.) is the inverse of a certain function at the �k /2 �−th level of the primitive recursive hierarchy. In case linear preprocessing is desired, we show that one can answer each such query in at most O (α(n)) steps and that this is best possible. The function α(n) is the inverse Ackermann function. We also consider the following extended problem. Let T be a tree with an element of S associated with each of its vertices. We want to answer online queries of the form, " What is the product of the elements associated with the vertices along the path from u to v? " for any pair of vertices u and v in T. We derive results, which are similar to the above, for the preprocessing needed for answering such queries. All our sequential preprocessing algorithms can be parallelized efficiently to give optimal parallel algorithms which run in O (logn) time on a CREW PRAM. These parallel algorithms are optimal in both running time and total number of operations.
Verification and Sensitivity Analysis Of Minimum Spanning Trees In Linear Time
 SIAM J. Comput
, 1992
"... . Koml'os has devised a way to use a linear number of binary comparisons to test whether a given spanning tree of a graph with edge costs is a minimum spanning tree. The total computational work required by his method is much larger than linear, however. We describe a lineartime algorithm for verif ..."
Abstract

Cited by 54 (2 self)
 Add to MetaCart
. Koml'os has devised a way to use a linear number of binary comparisons to test whether a given spanning tree of a graph with edge costs is a minimum spanning tree. The total computational work required by his method is much larger than linear, however. We describe a lineartime algorithm for verifying a minimum spanning tree. Our algorithm combines the result of Koml'os with a preprocessing and table lookup method for small subproblems and with a previously known almostlineartime algorithm. Additionally, we present an optimal deterministic algorithm and a lineartime randomized algorithm for sensitivity analysis of minimum spanning trees. 1. Introduction. Suppose we wish to solve some problem for which we know in advance the size of the input data, using an algorithm from some welldefined class of algorithms. For example, consider sorting n numbers, when n is fixed in advance, using a binary comparison tree. Given a sufficient amount of preprocessing time and storage space, we ca...