Linear-time algorithm Research Papers - Academia.edu (original) (raw)

In this paper, we consider smooth words over 2-letter alphabets {a, b}, where a, b are integers having same parity, with 0 < a < b. We show that all are recurrent and that the closure of the set of factors under reversal holds for odd... more

In this paper, we consider smooth words over 2-letter alphabets {a, b}, where a, b are integers having same parity, with 0 < a < b. We show that all are recurrent and that the closure of the set of factors under reversal holds for odd alphabets only. We provide a linear time algorithm computing the extremal words, w.r.t. lexicographic order. The minimal word is an infinite Lyndon word if and only if either a = 1 and b are odd, or a, b are even. A connection is established between generalized Kolakoski words and maximal infinite smooth words over even 2-letter alphabets revealing new properties for some of the generalized Kolakoski words. Finally, the frequency of letters in extremal words is 1/2 for even alphabets, and for a = 1 with b odd, the frequency of b's is 1/( √ 2b − 1 + 1).

A general algorithm for computing Euclidean skeletons of 2D and 3D data sets in linear time is presented. These skeletons are defined in terms of a new concept, called the integer medial axis (IMA) transform. We prove a number of... more

A general algorithm for computing Euclidean skeletons of 2D and 3D data sets in linear time is presented. These skeletons are defined in terms of a new concept, called the integer medial axis (IMA) transform. We prove a number of fundamental properties of the IMA skeleton, and compare these with properties of the CMD (centers of maximal disks) skeleton. Several pruning methods for IMA skeletons are introduced (constant, linear and square-root pruning) and their properties studied. The algorithm for computing the IMA skeleton is based upon the feature transform, using a modification of a linear-time algorithm for Euclidean distance transforms. The skeletonization algorithm has a time complexity which is linear in the number of input points, and can be easily parallelized. We present experimental results for several data sets, looking at skeleton quality, memory usage and computation time, both for 2D images and 3D volumes.

In this paper, we propose a new method to derive practical linear time algorithms for maximum weightsum problems. A maximum weightsum problem is specied as follows: given a recursive data x, nd an optimal subset of elements of x which not... more

In this paper, we propose a new method to derive practical linear time algorithms for maximum weightsum problems. A maximum weightsum problem is specied as follows: given a recursive data x, nd an optimal subset of elements of x which not only satises certain property p but also maximizes the sum of the weight of elements of the subset. The key point of our approach is to describe the property p as a functional program. This enables us to use program transformation techniques. Based on this approach, we present the optimization theorem, with which we construct a systematic framework to calculate ecient linear time algorithms for maximum weightsum problems on recursive data structures. We demonstrate eectiveness of our approach through several interesting and non-trivial examples, which would be dicult to solve by known approaches.

A sequential algorithm is presented for computing the exact Euclidean distance transform (DT) of a k-dimensional binary image in time linear in the total number of voxels N. The algorithm, which is based on dimensionality reduction and... more

A sequential algorithm is presented for computing the exact Euclidean distance transform (DT) of a k-dimensional binary image in time linear in the total number of voxels N. The algorithm, which is based on dimensionality reduction and partial Voronoi diagram construction, can be used for computing the DT for a wide class of distance functions, including the L p and chamfer metrics. At each dimension level, the DT is computed by constructing the intersection of the Voronoi diagram whose sites are the feature voxels with each row of the image. This construction is performed efficiently by using the DT in the next lower dimension. The correctness and linear time complexity are demonstrated analytically and verified experimentally. The algorithm may be of practical value since it is relatively simple and easy to implement and it is relatively fast (not only does it run in OðNÞ time but the time constant is small). A simple modification of the algorithm computes the weighted Euclidean DT, which is useful for images with anisotropic voxel dimensions. A parallel version of the algorithm runs in OðN=pÞ time with p processors.

We study the Student-Project Allocation problem (SPA), a generalisation of the classical Hospitals / Residents problem (HR). An instance of SPA involves a set of students, projects and lecturers. Each project is offered by a unique... more

We study the Student-Project Allocation problem (SPA), a generalisation of the classical Hospitals / Residents problem (HR). An instance of SPA involves a set of students, projects and lecturers. Each project is offered by a unique lecturer, and both projects and lecturers have capacity constraints. Students have preferences over projects, whilst lecturers have preferences over students. We present an optimal lineartime algorithm for allocating students to projects, subject to these preferences and capacities. In particular, the algorithm finds a stable matching of students to projects. Here, the concept of stability generalises the stability definition in the HR context. The stable matching produced by our algorithm is simultaneously best-possible for all students. The SPA problem model that we consider is very general and has applications to a range of different contexts besides student-project allocation.

In this paper, we consider the edge searching and node searching problems on trees. Given a tree, we show a transformation from an optimal node-search strategy to an optimal edge-search strategy. Using our transformation, we simplify a... more

In this paper, we consider the edge searching and node searching problems on trees. Given a tree, we show a transformation from an optimal node-search strategy to an optimal edge-search strategy. Using our transformation, we simplify a previous linear-time algorithm for determining the edge-search number of a tree, and improve the running time of a previous algorithm for constructing an optimal edge-search strategy of an n-vertex tree from O(nlogn) to O(n). We also improve the running time of a previous algorithm for constructing an optimal min-cut linear layout of an n-vertex tree with the maximum degree 3 from O(nlogn) to O(n).

The isomorphism problem for graphs G 1 and G 2 is to determine if there exists a oneto-one mapping of the vertices of G 1 onto the vertices of G 2 such that two vertices of G 1 are adjacent if and only if their images in G 2 are adjacent.

We explore the following problem: given a collection of creases on a piece of paper, each assigned a folding direction of mountain or valley, is there a flat folding by a sequence of simple folds? There are several models of simple folds;... more

We explore the following problem: given a collection of creases on a piece of paper, each assigned a folding direction of mountain or valley, is there a flat folding by a sequence of simple folds? There are several models of simple folds; the simplest one-layer simple fold rotates a portion of paper about a crease in the paper by ±180 • . We first consider the analogous questions in one dimension lower-bending a segment into a flat object-which lead to interesting problems on strings. We develop efficient algorithms for the recognition of simply foldable 1D crease patterns, and reconstruction of a sequence of simple folds. Indeed, we prove that a 1D crease pattern is flat-foldable by any means precisely if it is by a sequence of one-layer simple folds.

Document insertion into a native XML Data Store (XDS) requires to partition the document tree into a number of storage units with limited capacity, such as records on disk pages. As intra partition navigation is much faster than... more

Document insertion into a native XML Data Store (XDS) requires to partition the document tree into a number of storage units with limited capacity, such as records on disk pages. As intra partition navigation is much faster than navigation between partitions, minimizing the number of partitions has a beneficial effect on query performance.

In 2000, T. Uno and M. Yagiura published an algorithm that computes all the K common intervals of two given permutations of length n in O(n + K) time. Our paper first presents a decomposition approach to obtain a compact encoding for... more

In 2000, T. Uno and M. Yagiura published an algorithm that computes all the K common intervals of two given permutations of length n in O(n + K) time. Our paper first presents a decomposition approach to obtain a compact encoding for common intervals of d permutations. Then, we revisit T. Uno and M. Yagiura's algorithm to yield a linear time algorithm for finding this encoding. Besides, we adapt the algorithm to obtain a linear time modular decomposition of an undirected graph, and thereby propose a formal invariant-based proof for all these algorithms.

The longest path problem is a well-known NP-hard problem and so far it has been solved polynomially only for a few classes of graphs. In this paper, we give a linear-time algorithm for finding a longest path between any two given vertices... more

The longest path problem is a well-known NP-hard problem and so far it has been solved polynomially only for a few classes of graphs. In this paper, we give a linear-time algorithm for finding a longest path between any two given vertices in a rectangular grid graph.

A coloring of a graph G = (V , E) is a partition {V 1 , V 2 , . . . , V k } of V into independent sets or color classes. A vertex v ∈ V i is a Grundy vertex if it is adjacent to at least one vertex in each color class V j for every j < i.... more

A coloring of a graph G = (V , E) is a partition {V 1 , V 2 , . . . , V k } of V into independent sets or color classes. A vertex v ∈ V i is a Grundy vertex if it is adjacent to at least one vertex in each color class V j for every j < i. A coloring is a partial Grundy coloring if every color class contains at least one Grundy vertex, and the partial Grundy number of a graph is the maximum number of colors in a partial Grundy coloring. We derive a natural upper bound on this parameter and show that graphs with sufficiently large girth achieve equality in the bound. In particular, this gives a linear-time algorithm to determine the partial Grundy number of a tree.

For a fixed positive integer k, the k-path partition problem is to partition the vertex set of a graph into the smallest number of paths such that each path has at most k vertices. The 2-path partition problem is equivalent to the... more

For a fixed positive integer k, the k-path partition problem is to partition the vertex set of a graph into the smallest number of paths such that each path has at most k vertices. The 2-path partition problem is equivalent to the edge-cover problem. This paper presents a linear-time algorithm for the k-path partition problem in trees. The algorithm is

Circular graphs are intersection graphs of arcs on a circle. These graphs are reported to have been studied since 1964, and they have been received considerable attention since a series of papers by Tucker in the 1970's. Various... more

Circular graphs are intersection graphs of arcs on a circle. These graphs are reported to have been studied since 1964, and they have been received considerable attention since a series of papers by Tucker in the 1970's. Various subclasses of circular-arc graphs have been also studied. Among these are the proper circular-arc graphs, unit circular-arc graphs, Helly circular-arc graphs and co-bipartite circulararc graphs. Several characterizations and recognition algorithms have been formulated for circular-arc graphs and its subclasses. In particular, it should be mentioned that linear time algorithms are known for all these classes of graphs. In the present paper, we survey these characterizations and recognition algorithms, with emphasis on the linear time algorithms.

We study the L 1 minimization problem with additional box constraints. We motivate the problem with two different views of optimality considerations. We look into imposing such constraints in projected gradient techniques and propose a... more

We study the L 1 minimization problem with additional box constraints. We motivate the problem with two different views of optimality considerations. We look into imposing such constraints in projected gradient techniques and propose a worst case linear time algorithm to perform such projections. We demonstrate the merits and effectiveness of our algorithms on synthetic as well as real experiments.

Quasi-threshold graphs are defined recursively by the following rules: 1.(1) K1 is a quasi-threshold graph,2.(2) adding a new vertex adjacent to all vertices of a quasi-threshold graph results in a quasi-threshold graph,3.(3) the disjoint... more

Quasi-threshold graphs are defined recursively by the following rules: 1.(1) K1 is a quasi-threshold graph,2.(2) adding a new vertex adjacent to all vertices of a quasi-threshold graph results in a quasi-threshold graph,3.(3) the disjoint union of two quasi-threshold graphs is a quasi-threshold graph. This paper gives some new equivalent definitions of a quasi-threshold graph. From them, linear time recognition algorithms

An algorithm is presented which produces a Delaunay triangulation of n points in the Euclidean plane in expected linear time. The expected execution time is achieved when the data are (not too far from) uniformly distributed. A... more

An algorithm is presented which produces a Delaunay triangulation of n points in the Euclidean plane in expected linear time. The expected execution time is achieved when the data are (not too far from) uniformly distributed. A modification of the algorithm discussed in the appendix treats most of the non-uniform distributions. The basis of this algorithm is a geographical partitioning of the plane into boxes by the well-known Radix-sort algorithm. This partitioning is also used as a basis for a linear time algorithm for finding the convex hull of n points in the Euclidean plane.

Packrat parsing is a novel technique for implementing parsers in a lazy functional programming language. A packrat parser provides the power and flexibility of top-down parsing with backtracking and unlimited lookahead, but nevertheless... more

Packrat parsing is a novel technique for implementing parsers in a lazy functional programming language. A packrat parser provides the power and flexibility of top-down parsing with backtracking and unlimited lookahead, but nevertheless guarantees linear parse time. Any language defined by an LL(k) or LR(k) grammar can be recognized by a packrat parser, in addition to many languages that conventional linear-time algorithms do not support. This additional power simplifies the handling of common syntactic idioms such as the widespread but troublesome longest-match rule, enables the use of sophisticated disambiguation strategies such as syntactic and semantic predicates, provides better grammar composition properties, and allows lexical analysis to be integrated seamlessly into parsing. Yet despite its power, packrat parsing shares the same simplicity and elegance as recursive descent parsing; in fact converting a backtracking recursive descent parser into a linear-time packrat parser often involves only a fairly straightforward structural change. This paper describes packrat parsing informally with emphasis on its use in practical applications, and explores its advantages and disadvantages with respect to the more conventional alternatives.

In this paper, we consider the problem of representing graphs by polygons whose sides touch. We show that at least six sides per polygon are necessary by constructing a class of planar graphs that cannot be represented by pentagons. We... more

In this paper, we consider the problem of representing graphs by polygons whose sides touch. We show that at least six sides per polygon are necessary by constructing a class of planar graphs that cannot be represented by pentagons. We also show that the lower bound of six sides is matched by an upper bound of six sides with a linear time algorithm for representing any planar graph by touching hexagons. Moreover, our algorithm produces convex polygons with edges with slopes 0, 1, -1. Fig. 1. Given a drawing of a planar graph(a), we apportion the edges to the endpoints by cutting each edge in half (b), and then apportion the faces to form polygons (c).

We consider a few algorithmic problems regarding the hairpin completion. The first problem we consider is the membership problem of the hairpin and iterated hairpin completion of a language. We propose an O(nf(n)) and O(n2f(n)) time... more

We consider a few algorithmic problems regarding the hairpin completion. The first problem we consider is the membership problem of the hairpin and iterated hairpin completion of a language. We propose an O(nf(n)) and O(n2f(n)) time recognition algorithm for the hairpin completion and iterated hairpin completion, respectively, of a language recognizable in O(f(n)) time. We show that the n factor

Let G be a finite simple graph. Let S ⊆ V (G), its closed interval I[S] is the set of all vertices lying on a shortest path between any pair of vertices of S. The set S is convex if I[S] = S. In this work we define the concept of convex... more

Let G be a finite simple graph. Let S ⊆ V (G), its closed interval I[S] is the set of all vertices lying on a shortest path between any pair of vertices of S. The set S is convex if I[S] = S. In this work we define the concept of convex partition of graphs. If there exists a partition of V (G) into p convex sets we say that G is p-convex. We prove that is NP -complete to decide whether a graph G is p-convex for a fixed integer p ≥ 2. We show that every connected chordal graph is p-convex, for 1 ≤ p ≤ n. We also establish conditions on n and k to decide if a power of cycle is p-convex. Finally, we develop a linear-time algorithm to decide if a cograph is p-convex.

In an orthogonal drawing of a plane graph each vertex is drawn as a point and each edge is drawn as a sequence of vertical and horizontal line segments. A bend is a point at which the drawing of an edge changes its direction. Every plane... more

In an orthogonal drawing of a plane graph each vertex is drawn as a point and each edge is drawn as a sequence of vertical and horizontal line segments. A bend is a point at which the drawing of an edge changes its direction. Every plane graph of the maximum degree at most four has an orthogonal drawing, but may need bends. A simple necessary and sufficient condition has not been known for a plane graph to have an orthogonal drawing without bends. In this paper we obtain a necessary and sufficient condition for a plane graph G of the maximum degree three to have an orthogonal drawing without bends. We also give a linear-time algorithm to find such a drawing of G if it exists. Communicated by: P. Mutzel and M. Jünger;

The fusion tree method is extended to develop a linear-time algorithm for the minimum spanning tree problem and an O(m +n log n/log log n) implementation of Dijkstra's shortest-path algorithm for a graph with n vertices and m edges. The... more

The fusion tree method is extended to develop a linear-time algorithm for the minimum spanning tree problem and an O(m +n log n/log log n) implementation of Dijkstra's shortest-path algorithm for a graph with n vertices and m edges. The shortest-path algorithm surpasses information-theoretic limitations. The extension of the fusion tree method involves the development of a new data structure, the atomic heap. The atomic heap accommodates heap (priority queue) operations in constant amortized time under suitable polylog restrictions on the heap size. The linear-time minimum spanning tree algorithm results from a direct application of the atomic heap. To obtain the shortest path algorithm, the atomic heap is used as a building block to construct a new data structure, the AF-heap, which has no size restrictions and surpasses information theoretic limitations. The AF-heap belongs to the Fibonacci heap family

In this paper, we give some new characterizations of words which are finite factors of Sturmian words. An enumeration formula for primitive finite Sturmian words is given. Moreover, we provide two linear-time algorithms to recognize... more

In this paper, we give some new characterizations of words which are finite factors of Sturmian words. An enumeration formula for primitive finite Sturmian words is given. Moreover, we provide two linear-time algorithms to recognize whether a finite word is Sturmian.

We present a linear-time algorithm for computing all local periods of a given word. This subsumes (but is substantially more powerful than) the computation of the (global) period of the word and on the other hand, the computation of a... more

We present a linear-time algorithm for computing all local periods of a given word. This subsumes (but is substantially more powerful than) the computation of the (global) period of the word and on the other hand, the computation of a critical factorization, implied by the Critical Factorization Theorem.

In an orthogonal drawing of a plane graph each vertex is drawn as a point and each edge is drawn as a sequence of vertical and horizontal line segments. A bend is a point at which the drawing of an edge changes its direction. Every plane... more

In an orthogonal drawing of a plane graph each vertex is drawn as a point and each edge is drawn as a sequence of vertical and horizontal line segments. A bend is a point at which the drawing of an edge changes its direction. Every plane graph of the maximum degree at most four has an orthogonal drawing, but may need bends. A simple necessary and sufficient condition has not been known for a plane graph to have an orthogonal drawing without bends. In this paper we obtain a necessary and sufficient condition for a plane graph G of the maximum degree three to have an orthogonal drawing without bends. We also give a linear-time algorithm to find such a drawing of G if it exists.

An orthogonal drawing of a plane graph G is a drawing of G in which each edge is drawn as a sequence of alternate horizontal and vertical line segments. In this paper we give a linear-time algorithm to find an orthogonal drawing of a... more

An orthogonal drawing of a plane graph G is a drawing of G in which each edge is drawn as a sequence of alternate horizontal and vertical line segments. In this paper we give a linear-time algorithm to find an orthogonal drawing of a given 3-connected cubic plane graph with the minimum number of bends. The best previously known algorithm takes time O(n 7/4 √ log n) for any plane graph with n vertices.

High resolution 3D range scanning as well as isosurface extraction have introduced densely and uniformly sampled models that are difficult to render at an interactive rate. To remove excessive details and produce meshes of various... more

High resolution 3D range scanning as well as isosurface extraction have introduced densely and uniformly sampled models that are difficult to render at an interactive rate. To remove excessive details and produce meshes of various resolutions for different kinds of applications, the study of fast and high quality polygonal mesh simplification algorithms has become important. In this paper, we propose a new linear time algorithm that can achieve fast and high quality mesh simplification. In the new algorithm, we pipeline the cost computation, optimization, and edge collapse, and use a small constantsized Replacement Selection min-heap instead of a large greedy queue to effectively reduce the runtime complexity to linear complexity. Compared to previous works, our new algorithm has at least three advantages. First, the new algorithm is runtime efficient. Second, the new algorithm is memory efficient. Third, the algorithm is capable of generating competitive high quality outputs.

The hospitals/residents problem is an extensively-studied many-one stable matching problem. Here, we consider the hospitals/ residents problem where ties are allowed in the preference lists. In this extended setting, a number of natural... more

The hospitals/residents problem is an extensively-studied many-one stable matching problem. Here, we consider the hospitals/ residents problem where ties are allowed in the preference lists. In this extended setting, a number of natural definitions for a stable matching arise. We present the first linear-time algorithm for the problem under the strongest of these criteria, so-called super-stability. Our new results have

We present efficient algorithms for storing past segments of a text. They are computed using two previously computed read-only arrays (SUF and LCP) composing the Suffix Array of the text. They compute the maximal length of the previous... more

We present efficient algorithms for storing past segments of a text. They are computed using two previously computed read-only arrays (SUF and LCP) composing the Suffix Array of the text. They compute the maximal length of the previous factor (subword) occurring at each position of the text in a table called LPF. This notion is central both in many conservative text compression techniques and in the most efficient algorithms for detecting motifs and repetitions occurring in a text. The main results are: a linear-time algorithm that computes explicitly the permutation that transforms the LCP table into the LPF table; a time-space optimal computation of the LPF table; and an O(n log n) strong in-place computation of the LPF table.

In this paper, we consider the problem of representing graphs by polygons whose sides touch. We show that at least six sides per polygon are necessary by constructing a class of planar graphs that cannot be represented by pentagons. We... more

In this paper, we consider the problem of representing graphs by polygons whose sides touch. We show that at least six sides per polygon are necessary by constructing a class of planar graphs that cannot be represented by pentagons. We also show that the lower bound of six sides is matched by an upper bound of six sides with a linear-time algorithm for representing any planar graph by touching hexagons. Moreover, our algorithm produces convex polygons with edges having at most three slopes and with all vertices lying on an O(n)xO(n) grid.

P4-reducible graphs are precisely the graphs none of whose vertices belong to more than one chordless path with three edges. As it tarns out, the class of P4-reducible graphs strictly contains the well-known class of cographs. A... more

P4-reducible graphs are precisely the graphs none of whose vertices belong to more than one chordless path with three edges. As it tarns out, the class of P4-reducible graphs strictly contains the well-known class of cographs. A remarkable property of Pa-reducible graphs is their unique tree representation up to isomorphism. In this paper we present a lineartime algorithm to recognize Pa-reducible graphs and to construct their corresponding tree representation.

We study an abstract optimization problem arising from biomolecular sequence analysis. For a sequence A of pairs (a i , w i ) for i = 1, . . . , n and w i > 0, a segment A(i, j ) is a consecutive subsequence of A starting with index i and... more

We study an abstract optimization problem arising from biomolecular sequence analysis. For a sequence A of pairs (a i , w i ) for i = 1, . . . , n and w i > 0, a segment A(i, j ) is a consecutive subsequence of A starting with index i and ending with index j. The width of A(i, j ) is w(i, j ) = i k j w k , and the density is ( i k j a k )/w(i, j ). The maximum-density segment problem takes A and two values L and U as input and asks for a segment of A with the largest possible density among those of width at least L and at most U. When U is unbounded, we provide a relatively simple, O(n)-time algorithm, improving upon the O(n log L)-time algorithm by Lin, Jiang and Chao. We then extend this result, providing an O(n)-time algorithm for the case when both L and U are specified.

We present a new model for OLAP, called the nested data cube (NDC) model. Nested data cubes are a generalization of other OLAP models such as f-tables [3], and hypercubes [2], but also of classical structures such as sets, bags, and... more

We present a new model for OLAP, called the nested data cube (NDC) model. Nested data cubes are a generalization of other OLAP models such as f-tables [3], and hypercubes [2], but also of classical structures such as sets, bags, and relations. The model we propose adds to the previous models mainly flexibility in viewing the data, in that it allows for the assignment of priorities to the different dimensions of the multidimensional OLAP data. We also present an algebra in which all typical OLAP analysis and navigation operations can be formulated. We present a number of algebraic operators that work on nested data cubes and that preserve the functional dependency between the dimensional coordinates of the data cube and the factual data in it. These operations include nesting, unnesting, summary, roll-up, and aggregation operations. We show how these operations can be applied to sub-NDC's at any depth, and also show that the NDC algebra can express the SPJR algebra [1] of the relational model. A major motivation for defining an algebra rather than a calculus, is that an algebra naturally leads to an implementation strategy. Importantly, we show that the NDC algebra primitives can be implemented by linear time algorithms.

On square or hexagonal lattices tiles or polyominoes are coded by words. The polyominoes that tile the plane by translation are characterized by the Beauquier-Nivat condition. By using the constant time algorithms for computing the... more

On square or hexagonal lattices tiles or polyominoes are coded by words. The polyominoes that tile the plane by translation are characterized by the Beauquier-Nivat condition. By using the constant time algorithms for computing the longest common extensions in two words, we provide a linear time algorithm in the case of pseudo-square polyominoes, improving the previous quadratic algorithm of Gambini and Vuillon. For pseudo-hexagon polyominoes not containing arbitrarily large square factors we also have a linear algorithm. The results are extended to more general tiles.

We consider the problems of finding the maximum number of vertex-disjoint triangles (VTP) and edge-disjoint triangles (ETP) in a simple graph. Both problems are NP-hard. The algorithm with the best approximation ratio known so far for... more

We consider the problems of finding the maximum number of vertex-disjoint triangles (VTP) and edge-disjoint triangles (ETP) in a simple graph. Both problems are NP-hard. The algorithm with the best approximation ratio known so far for these problems has ratio 3/2 + ε, a result that follows from a more general algorithm for set packing obtained by Hurkens and Schrijver [On the size of systems of sets every t of which have an SDR, with an application to the worst-case ratio of heuristics for packing problems, SIAM J. Discrete Math. 2(1) (1989) 68-72]. We present improvements on the approximation ratio for restricted cases of VTP and ETP that are known to be APX-hard: we give an approximation algorithm for VTP on graphs with maximum degree 4 with ratio slightly less than 1.2, and for ETP on graphs with maximum degree 5 with ratio 4/3. We also present an exact linear-time algorithm for VTP on the class of indifference graphs.

Community detection and analysis is an important methodology for understanding the organization of various real-world networks and has applications in problems as diverse as consensus formation in social communities or the identification... more

Community detection and analysis is an important methodology for understanding the organization of various real-world networks and has applications in problems as diverse as consensus formation in social communities or the identification of functional modules in biochemical networks. Currently used algorithms that identify the community structures in large-scale real-world networks require a priori information such as the number and sizes of communities or are computationally expensive. In this paper we investigate a simple label propagation algorithm that uses the network structure alone as its guide and requires neither optimization of a pre-defined objective function nor prior information about the communities. In our algorithm every node is initialized with a unique label and at every step each node adopts the label that most of its neighbors currently have. In this iterative process densely connected groups of nodes form a consensus on a unique label to form communities. We validate the algorithm by applying it to networks whose community structures are known. We also demonstrate that the algorithm takes an almost linear time and hence it is computationally less expensive than what was possible so far.

A Boolean function in disjunctive normal form (DNF) is a Horn function if each of its elementary conjunctions involves at most one complemented variable. A generalized Horn function is constructed from a Horn function by disjuncting a... more

A Boolean function in disjunctive normal form (DNF) is a Horn function if each of its elementary conjunctions involves at most one complemented variable. A generalized Horn function is constructed from a Horn function by disjuncting a nested set of complemented variables to it. The satisfiability problem is solvable in polynomial time for both Horn and generalized Horn functions. A Boolean function in DNF is said to be renamable Horn if it is Horn after complementation of some variables. Succinct mathematical characterizations and linear-time algorithms for recognizing renamable Horn and generalized Horn functions are given in this paper. The algorithm for recognizing renamable Horn functions gives a new method to test 2-SAT. Some computational results are also given.

A simple algorithm for merging two ordered lists in bounded workspace is given. The algorithm is developed by first finding an intuitively clear divide-and-conquer algorithm with sublinear workspace, and then removing the workspace.

An orthogonal drawing of a plane graph G is a drawing of G in which each edge is drawn as a sequence of alternate horizontal and vertical line segments. In this paper we give a linear-time algorithm to find an orthogonal drawing of a... more

An orthogonal drawing of a plane graph G is a drawing of G in which each edge is drawn as a sequence of alternate horizontal and vertical line segments. In this paper we give a linear-time algorithm to find an orthogonal drawing of a given 3-connected cubic plane graph with the minimum number of bends. The best previously known algorithm takes time O(n 7/4 √ log n) for any plane graph with n vertices.

This paper focuses on the design of an effective method that computes the measure of circularity of an open or closed digital curve. Thanks to its geometric interpretation, an algorithm that only uses classical tools of computational... more

This paper focuses on the design of an effective method that computes the measure of circularity of an open or closed digital curve. Thanks to its geometric interpretation, an algorithm that only uses classical tools of computational geometry is derived. Even if a sophisticated machinery coming from linear programming can provide a linear time algorithm, its O(n log n) time complexity is better than many quadratic methods based on Voronoi diagrams. Moreover, this bound can be improve in the case of convex digital curves to reach linear time. * Supported by a grant from the french DGA (Jacques Blanc-Talon).

We present linear-I/O algorithms for fundamental graph problems on embedded outerplanar graphs. We show that breadth-first search, depth-first search, single-source shortest paths, triangulation, and computing anseparator of size O(1/ )... more

We present linear-I/O algorithms for fundamental graph problems on embedded outerplanar graphs. We show that breadth-first search, depth-first search, single-source shortest paths, triangulation, and computing anseparator of size O(1/ ) take O(scan(N )) I/Os on embedded outerplanar graphs. We also show that it takes O(sort(N )) I/Os to test whether a given graph is outerplanar and to compute an outerplanar embedding of an outerplanar graph, thereby providing O(sort(N ))-I/O algorithms for the above problems if no embedding of the graph is given. As all these problems have linear-time algorithms in internal memory, a simple simulation technique can be used to improve the I/O-complexity of our algorithms from O(sort(N )) to O(perm(N )). We prove matching lower bounds for embedding, breadth-first search, depth-first search, and singlesource shortest paths if no embedding is given. Our algorithms for the above problems use a simple linear-I/O time-forward processing algorithm for rooted trees whose vertices are stored in preorder.

We consider the time of broadcasting in ad hoc radio networks mo eled as undirected graphs. In such networks, every node knows only its ow label and a linear bound on the number of nodes but is unaware of the topo ogy of the network, or... more

We consider the time of broadcasting in ad hoc radio networks mo eled as undirected graphs. In such networks, every node knows only its ow label and a linear bound on the number of nodes but is unaware of the topo ogy of the network, or even of its own neighborhood. Our aim is to stu to what extent the availability of two important characteristics of a broa casting algorithm influences optimal broadcasting time. These character tics are adaptiveness and randomization. Our contribution is establishi upper and lower bounds on optimal broadcasting time for three classes algorithms: adaptive deterministic, oblivious randomized and oblivious d terministic. In two cases we present tight bounds, and in one case a small g remains. We show that for deterministic adaptive algorithms time Ω(n) is r quired even for n-node networks of constant diameter. This lower bound strongest possible, since linear time algorithms are known, and hence esta lishes optimal time Θ(n) for this class. For oblivious randomized algorithm we show an upper bound O(n · min{D, log n}) and a lower bound Ω(n) optimal expected broadcasting time in n-node networks of diameter D. F nally, for oblivious deterministic algorithms we show matching upper a lower bounds Θ(n · min{D, √ n}) on optimal broadcasting time. Our resu imply that enforcing obliviousness has at least as strong negative impact broadcasting time as enforcing determinism, and that algorithms having bo these features are strictly less efficient than those having only one of them

The cutwidth of a graph G is the smallest integer k such that the vertices of G can be arranged in a linear layout [v 1 , . . . , v n ] in such a way that, for every i = 1, . . . , n − 1, there are at most k edges with one endpoint in {v... more

The cutwidth of a graph G is the smallest integer k such that the vertices of G can be arranged in a linear layout [v 1 , . . . , v n ] in such a way that, for every i = 1, . . . , n − 1, there are at most k edges with one endpoint in {v 1 , . . . , v i } and the other in {v i+1 , . . . , v n }. In this paper we provide, for any constant k, a linear time algorithm that for any input graph G, answers whether G has cutwidth at most k and, in the case of a positive answer, outputs the corresponding linear layout.