31 research outputs found
An In-Place Sorting with O(n log n) Comparisons and O(n) Moves
We present the first in-place algorithm for sorting an array of size n that
performs, in the worst case, at most O(n log n) element comparisons and O(n)
element transports.
This solves a long-standing open problem, stated explicitly, e.g., in [J.I.
Munro and V. Raman, Sorting with minimum data movement, J. Algorithms, 13,
374-93, 1992], of whether there exists a sorting algorithm that matches the
asymptotic lower bounds on all computational resources simultaneously
Converting two-way nondeterministic unary automata into simpler automata
AbstractWe show that, on inputs of length exceeding 5n2, any n-state unary two-way nondeterministic finite automaton (2nfa) can be simulated by a (2n+2)-state quasi-sweeping 2nfa. Such a result, besides providing a ânormal formâ for 2nfa's, enables us to get a subexponential simulation of unary 2nfa's by two-way deterministic finite automata (2dfa's). In fact, we prove that any n-state unary 2nfa can be simulated by a sweeping 2dfa with O(nâlog2(n+1)+3â) states
Graph-Controlled Insertion-Deletion Systems
In this article, we consider the operations of insertion and deletion working
in a graph-controlled manner. We show that like in the case of context-free
productions, the computational power is strictly increased when using a control
graph: computational completeness can be obtained by systems with insertion or
deletion rules involving at most two symbols in a contextual or in a
context-free manner and with the control graph having only four nodes.Comment: In Proceedings DCFS 2010, arXiv:1008.127
A representation of recursively enumerable languages by two homomorphisms and a quotient
AbstractA new representation for recursively enumerable languages is presented. It uses a pair of homomorphisms and the left (or right) quotient: For each recursively enumerable language L one can find homomorphisms h1, h2: ââA â ââB, such that w â ââL is a word in L if and only if w =h1(α)h2(α) for some αââ+A. (Or, each recursively enumerable language can be given by L = O(h1h2) â© ââL, where O(h1h2) is the so-called right overflow languaged defined as O(h1h2) = {h1(x)h2(x); x â ââA}.