Results 1  10
of
104
Algorithms for the longest common subsequence problem
 J. ACM
, 1977
"... AaS~ACT Two algorithms are presented that solve the longest common subsequence problem The first algorithm is applicable in the general case and requires O(pn + n log n) time where p is the length of the longest common subsequence The second algorithm requires time bounded by O(p(m + 1 p)log n) In ..."
Abstract

Cited by 212 (2 self)
 Add to MetaCart
(Show Context)
AaS~ACT Two algorithms are presented that solve the longest common subsequence problem The first algorithm is applicable in the general case and requires O(pn + n log n) time where p is the length of the longest common subsequence The second algorithm requires time bounded by O(p(m + 1 p)log n) In the common speoal case where p is close to m, this algorithm takes much less time than n ~ KEY WORDS AND PHRASES ' subsequence, common subsequence, algorithm CR CATEOORIES 3 73, 3 79, 5 25, 5 39
HighSpeed Policybased Packet Forwarding Using Efficient Multidimensional Range Matching
 In ACM SIGCOMM
, 1998
"... The ability to provide differentiated services to users with widely varying requirements is becoming increasingly important, and Internet Service Providers would like to provide these differentiated services using the same shared network infrastructure. The key mechanism, that enables differentiatio ..."
Abstract

Cited by 169 (0 self)
 Add to MetaCart
(Show Context)
The ability to provide differentiated services to users with widely varying requirements is becoming increasingly important, and Internet Service Providers would like to provide these differentiated services using the same shared network infrastructure. The key mechanism, that enables differentiation in a connectionless network, is the packet classification function that parses the headers of the packets, and after determining their context, classifies them based on administrative policies or realtime reservation decisions. Packet classification, however, is a complex operation that can become the bottleneck in routers that try to support gigabit link capacities. Hence, many proposals for differentiated services only require classification at lower speed edge routers and also avoid classification based on multiple fields in the packet header even if it might be advantageous to service providers. In this paper, we present new packet classification schemes that, with a worstcase and tr...
Faster algorithms for the shortest path problem
, 1990
"... Efficient implementations of Dijkstra's shortest path algorithm are investigated. A new data structure, called the radix heap, is proposed for use in this algorithm. On a network with n vertices, mn edges, and nonnegative integer arc costs bounded by C, a onelevel form of radix heap gives a t ..."
Abstract

Cited by 127 (10 self)
 Add to MetaCart
Efficient implementations of Dijkstra's shortest path algorithm are investigated. A new data structure, called the radix heap, is proposed for use in this algorithm. On a network with n vertices, mn edges, and nonnegative integer arc costs bounded by C, a onelevel form of radix heap gives a time bound for Dijkstra's algorithm of O(m + n log C). A twolevel form of radix heap gives a bound of O(m + n log C/log log C). A combination of a radix heap and a previously known data structure called a Fibonacci heap gives a bound of O(m + n /log C). The best previously known bounds are O(m + n log n) using Fibonacci heaps alone and O(m log log C) using the priority queue structure of Van Emde Boas et al. [17].
Bounds on the complexity of the longest common subsequence problem
 Journal of the ACM
, 1976
"... ABSTRACT The problem of finding a longest common subsequence of two strings is discussed This problem arises in data processing applications such as comparing two files and in genetic applications such as studying molecular evolution The ddlqculty of computing a longest common subsequence of two str ..."
Abstract

Cited by 76 (1 self)
 Add to MetaCart
(Show Context)
ABSTRACT The problem of finding a longest common subsequence of two strings is discussed This problem arises in data processing applications such as comparing two files and in genetic applications such as studying molecular evolution The ddlqculty of computing a longest common subsequence of two strings IS examined using the decision tree model of computation, m which vertices represent "equalunequal " comparisons It IS shown that unless a bound on the total number of 0istmct symbols is assumed, every solution to the problem can consume an amount of time that is proportional to the product of the lengths of the two strings A general lower bound as a function of the ratio of alphabet size to string length is derived The case where comparisons between symbols of the same string are forbidden is also considered and it is shown that this problem is of linear complexity for a twosymbol alphabet and quadratic for an alphabet of three or more symbols KEY WORDS AND PHR~tSES longest common subsequence, algorithm, computational complexity, file comparison, molecular evolution CR CATEGORIES 3 12, 3 73, 5 25 1.
A localitypreserving cacheoblivious dynamic dictionary
, 2002
"... This paper presents a simple dictionary structure designed for a hierarchical memory. The proposed data structure is cache oblivious and locality preserving. A cacheoblivious data structure has memory performance optimized for all levels of the memory hierarchy even though it has no memoryhierar ..."
Abstract

Cited by 74 (23 self)
 Add to MetaCart
This paper presents a simple dictionary structure designed for a hierarchical memory. The proposed data structure is cache oblivious and locality preserving. A cacheoblivious data structure has memory performance optimized for all levels of the memory hierarchy even though it has no memoryhierarchyspecific parameterization. A localitypreserving dictionary maintains elements of similar key values stored close together for fast access to ranges of data with consecutive keys. The data structure presented here is a simplification of the cacheoblivious Btree of Bender, Demaine, and FarachColton. Like the cacheoblivious Btree, this structure supports search operations using only O(logB N) block operations at a level of the memory hierarchy with block size B. Insertion and deletion operations use O(logB N + log2 N=B) amortized block transfers. Finally, the data structure returns all k data items in a given search range using O(logB N + kB) block operations. This data structure was implemented and its performance was evaluated on a simulated memory hierarchy. This paper presents the results of this simulation for various combinations of block and memory sizes.
Beyond Best Effort: Router Architectures for the Differentiated Services of Tomorrow’s Internet
 IEEE Communications Magazine
, 1998
"... With the transformation of the Internet into a commercial infrastructure, the ability to provide differentiated services to users with widely varying requirements is rapidly becoming as important as meeting the massive increases in bandwidth demand. Hence, while deploying routers, switches, and tran ..."
Abstract

Cited by 73 (1 self)
 Add to MetaCart
With the transformation of the Internet into a commercial infrastructure, the ability to provide differentiated services to users with widely varying requirements is rapidly becoming as important as meeting the massive increases in bandwidth demand. Hence, while deploying routers, switches, and transmission systems of ever increasing capacity, Internet service providers would also like to provide customerspecific differentiated services using the same shared network infrastructure. In this article, we describe router architectures that can support the two trends of rising bandwidth demand and rising demand for differentiated services. We focus on router mechanisms that can support differentiated services at a level not contemplated in proposals currently under consideration due to concern regarding their implementability at high speeds. We consider the types of differentiated services that service providers may want to offer and then discuss the mechanisms needed in routers to support them. We describe plausible implementations of these mechanisms (the scalability and performance of which have been demonstrated by implementation in a prototype system) and argue that it is
Undirected Single Source Shortest Paths in Linear Time
 J. Assoc. Comput. Mach
, 1997
"... The single source shortest paths problem (SSSP) is one of the classic problems in algorithmic graph theory: given a weighted graph G with a source vertex s, find the shortest path from s to all other vertices in the graph. Since 1959 all theoretical developments in SSSP have been based on Dijkstra& ..."
Abstract

Cited by 55 (3 self)
 Add to MetaCart
The single source shortest paths problem (SSSP) is one of the classic problems in algorithmic graph theory: given a weighted graph G with a source vertex s, find the shortest path from s to all other vertices in the graph. Since 1959 all theoretical developments in SSSP have been based on Dijkstra's algorithm, visiting the vertices in order of increasing distance from s. Thus, any implementation of Dijkstra 's algorithm sorts the vertices according to their distances from s. However, we do not know how to sort in linear time. Here, a deterministic linear time and linear space algorithm is presented for the undirected single source shortest paths problem with integer weights. The algorithm avoids the sorting bottleneck by building a hierechical bucketing structure, identifying vertex pairs that may be visited in any order. 1 Introduction Let G = (V; E), jV j = n, jEj = m, be an undirected connected graph with an integer edge weight function ` : E ! N and a distinguished source vertex...
Improved Parallel Integer Sorting without Concurrent Writing
, 1992
"... We show that n integers in the range 1 : : n can be sorted stably on an EREW PRAM using O(t) time and O(n( p log n log log n + (log n) 2 =t)) operations, for arbitrary given t log n log log n, and on a CREW PRAM using O(t) time and O(n( p log n + log n=2 t=logn )) operations, for arbitrary ..."
Abstract

Cited by 48 (5 self)
 Add to MetaCart
We show that n integers in the range 1 : : n can be sorted stably on an EREW PRAM using O(t) time and O(n( p log n log log n + (log n) 2 =t)) operations, for arbitrary given t log n log log n, and on a CREW PRAM using O(t) time and O(n( p log n + log n=2 t=logn )) operations, for arbitrary given t log n. In addition, we are able to sort n arbitrary integers on a randomized CREW PRAM within the same resource bounds with high probability. In each case our algorithm is a factor of almost \Theta( p log n) closer to optimality than all previous algorithms for the stated problem in the stated model, and our third result matches the operation count of the best previous sequential algorithm. We also show that n integers in the range 1 : : m can be sorted in O((log n) 2 ) time with O(n) operations on an EREW PRAM using a nonstandard word length of O(log n log log n log m) bits, thereby greatly improving the upper bound on the word length necessary to sort integers with a linear t...
Treewidth: Computational Experiments
, 2001
"... Many NPhard graph problems can be solved in polynomial time for graphs with bounded treewidth. Equivalent results are known for pathwidth and branchwidth. In recent years, several studies have shown that this result is not only of theoretical interest but can successfully be applied to find (almost ..."
Abstract

Cited by 46 (9 self)
 Add to MetaCart
(Show Context)
Many NPhard graph problems can be solved in polynomial time for graphs with bounded treewidth. Equivalent results are known for pathwidth and branchwidth. In recent years, several studies have shown that this result is not only of theoretical interest but can successfully be applied to find (almost) optimal solutions or lower bounds for many optimization problems. To apply a tree decomposition approach, the treewidth of the graph has to be determined, independently of the application at hand. Although for fixed k, linear time algorithms exist to solve the decision problem “treewidth < k”, their practical use is very limited. The computational tractability of treewidth has been rarely studied so far. In this paper, we compare four heuristics and two lower bounds for instances from applications such as the frequency assignment problem and the vertex coloring problem. Three of the heuristics are based on wellknown algorithms to recognize triangulated graphs. The fourth heuristic recursively improves a tree decomposition by the computation of minimal separating vertex sets in subgraphs. Lower bounds can be computed from maximal cliques and the minimum degree of induced subgraphs. A computational analysis shows that the treewidth of several graphs can be identified by these methods. For other graphs, however, more sophisticated techniques are necessary.
Integer sorting in O(n √ log log n) expected time and linear space
 In Proc. 33rd IEEE Symposium on Foundations of Computer Science (FOCS
, 2012
"... We present a randomized algorithm sorting n integers in O(n p log logn) expected time and linear space. This improves the previous O(n log logn) bound by Anderson et al. from STOC’95. As an immediate consequence, if the integers are bounded by U, we can sort them in O(n p log logU) expected time. Th ..."
Abstract

Cited by 33 (4 self)
 Add to MetaCart
(Show Context)
We present a randomized algorithm sorting n integers in O(n p log logn) expected time and linear space. This improves the previous O(n log logn) bound by Anderson et al. from STOC’95. As an immediate consequence, if the integers are bounded by U, we can sort them in O(n p log logU) expected time. This is the first improvement over the O(n log logU) bound obtained with van Emde Boas ’ data structure from FOCS’75. At the heart of our construction, is a technical deterministic lemma of independent interest; namely, that we split n integers into subsets of size at most pn in linear time and space. This also implies improved bounds for deterministic string sorting and integer sorting without multiplication. 1