Journal of Information and Optimization Science
Generating binary trees in A-order from codewords defined on a four-letter alphabet
Vincent Vajnovszki and Jean Pallo

We use two recent codings of binary trees by words over a four-letter alphabet in order to generate binary trees in A-order. Rankimg and unranking algorithms are also discussed.

Bulletin of the European Association for Theoretical Computer Science
Constant time generation of binary unordered trees
Vincent Vajnovszki

We present an optimal coding for binary unordered trees and exhibit a generating algorithm with a constant average complexity and the associated rank and unrank algorithms

Studies in Informatics and Control
Constant Time Algorithm for Generating Binary Trees Gray Codes
Vincent Vajnovszki

Frank Ruskey and Andrzej Proskurowski (1990) gave a recursive algorithm for generating binary trees as represented by bitstrings with a given prefix, such that successive bitstrings differ by the transposition of two bits and the concatenation of generated lists forms a Gray code. This paper presents a new Gray code for the set of all such bitstrings and an algorithm for directly generating binary trees represented by Zaks sequences.

9th International Conference on Parallel and Distributed Computing Systems - ISCA
Two Optimal Parallel Algorithms for Generating P-sequences
Vincent Vajnovszki and Chris Phillips

We propose two cost-optimal parallel algorithms for generating binary ordered trees represented by P-sequences. The first algorithm is adaptive and executes according to an SPMD parallel model. Processors execute the same algorithm independently without synchronised access to shared memory/communication. The second algorithm also executes according to an SPMD model, but two or more processors are allowed to read simultaneously from the same (shared) memory location, but any write is synchronised (a CREW model), and generates all P-sequences in lexicographic order.

Gascom 96, Caen 30 jan.- 1 fev. 1997
Génération aléatoire des arbres binaires par des algorithmes de rang inverse
Vincent Vajnovszki

L'objet de cet article est de passer en revue quelques algorithmes efficaces de rang inverse pour différents codages d'arbres binaires et différents ordres sur ces arbres. Avec un générateur de nombres aléatoires tous ces algorithmes sont facilement transposables en des algorithmes de génération aléatoire pour les arbres binaires. Les même algorithmes de rang peuvent servir à la génération quasi-aléatoire d'un échantillonnage de taille k : on tire aléatoirement un entier dans un certain intervalle, on lui applique l'algorithme de rang inverse, puis on calcule k-1 fois la fonction successeur (qui dans la plupart des cas ont une complexité en O(1)).

12th International Conference on Computers and Their Applications - ISCA
Optimal Parallel Algorithm for Generating k-ary Trees
Vincent Vajnovszki and Chris Phillips

The only published algorithm for generating k-ary trees in parallel is that of Akl and Stojmenovic in 1996. The trees are represented by an inversion table and the processor model is a multicomputer linear array. In this paper we present a parallel generating algorithm for k-ary trees represented by bitstrings for execution on a shared memory multiprocessor.

Journal of Information and Optimization Science
Ranking and Unranking k-ary Trees with a 4k-4 Letter Alphabet
Vincent Vajnovszki and Jean Pallo

The problem of the direct generation in A-order of binary trees was stated by Zaks in 1980. In 1988 Roelants van Baronaigien and Ruskey gave a solution for k-ary trees with n internal nodes using an encoding sequences of kn+1 integers between 1 and n. Vajnovszki and Pallo improved this result for binary trees in 1994 using words of length n-1 on a four letter alphabet. Recently Korsh generalized the Vajnovszki and Pallo's generating algorithm to k-ary trees using an alphabet whose the cardinality depends on k but not on n. We give in this paper ranking and unranking algorithms for k-ary trees using the Korsh's encoding scheme.

Parallel Processing Letters
Parallel algorithms for generating well-formed parentheses strings
Vincent Vajnovszki and Jean Pallo

We present two cost-optimal parallel algorithms generating the set of all well-formed parentheses strings of length 2n with constant delay for each generated string. In our first algorithm we generate in lexicographic order well-formed parentheses strings represented by bitstrings, and in the second one we use the representation by weight sequences. In both cases the computational model is based on an architecture CREW PRAM, where each processor performs the same algorithm simultaneously on a different set of data. Different processors can access the shared memory at the same time to read different data in the same or different memory locations, but no two processors are allowed to write into the same memory location simultaneously. These results complete a recent parallel generating algorithm for well-formed parentheses strings in a linear array of processors model presented by Akl and Stojmenovic in 1996.

International Conference on Computer Applications in Industry and Engineering, 1998, Las Vegas, Nevada, U.S.A.
Parallel Generation of Nondecreasing Paths and Applications
Vincent Vajnovszki

We introduce a unified approach for a class of parallel generating algorithms for combinatorial objects by presenting a generic algorithm which generates increasing paths with some restrictions and, as a particular case, it produces combinations, compositions of an integer, binary and k-ary trees. Our algorithm is targeted at a linear array of processors model, and satisfies some strong optimality criteria.

Information Processing Letters
On the Loopless Generation of Binary Tree Sequences
Vincent Vajnovszki

Weight sequences were introduced by Pallo in 1986 for coding binary trees and he presented a constant amortized time algorithm for their generation in lexicographic order. A year later, Roelants van Baronaigien and Ruskey developed a recursive constant amortized time algorithm for generating Gray code for binary trees in Pallo's representation. It is common practice to find a loopless generating algorithm for a combinatorial object when enunciating a Gray code for this object. In this paper we regard weight sequences as variations and apply a Williamson algorithm in order to obtain a loopless generating algorithm for the Roelants van Baronaigien and Ruskey's Gray code for weight sequences.

GASCOM '99
Gray code for P-Sequences
Vincent Vajnovszki

P-sequences are used for coding binary trees and they are also a concise representation for well-formed parenthesis strings. We present a Gray code and a loopless generating algorithm for P-sequences, and derive them in a Gray code and a loopless generating algorithm for well-formed parenthesis strings.

Parallel Processing Letters
Systolic Generation of k-ary trees
Vincent Vajnovszki and Chris Phillips

The only parallel generating algorithms for k-ary trees are those of Akl and Stojmenovic in 1996 and of Vajnovszki and Phillips in 1997. In the first of them trees are represented by an inversion table and the processor model is a linear array multicomputer. In the second trees are represented by bitstrings and the algorithm executes on a shared memory multiprocessor. In this paper we present a parallel generating algorithm for k-ary trees represented by P-sequences for execution on a linear array multicomputer.

International Journal of Mathematical Algorithms
Generating a Gray Code for P-sequences
Vincent Vajnovszki

P-sequences are used for coding binary trees and they are also an alternative representation for well-formed parentheses strings. We present here the first Gray code and loopless generating algorithm for P-sequences, and extend them in a Gray code and a new loopless generating algorithm for well-formed parentheses strings. Ranking and unranking algorithms are also discussed.

Discrete Mathematics and Theoretical Computer Science
A loopless generation of bitstrings without p consecutive ones
Vincent Vajnovszki

Let Fn (p) be the set of all n-length bitstrings such that there are no p consecutive 1s. Fn (p) is counted with the pth order Fibonacci numbers and it may be regarded as the subsets of {1,2, ...,n} without p consecutive elements and bitstrings in Fn (p) code a particular class of trees or compositions of an integer. In this paper we give a Gray code for Fn (p) which can be implemented in a recursive generating algorithm, and finally in a loopless generating algorithm.

Journal of Information and Optimization Science
On the Reconstruction of a Motzkin Tree from its Code
Ronny Pattisina and Vincent Vajnovszki

Often in computer science combinatorial objects with geometrical significance are represented concisely, as words over a given alphabet. In this paper we present an efficient, simple to understand and simple to implement algorithm which permits the construction of Motzkin trees (1-2 trees) from their linear (word) representation.

Acta Informatica
Gray visiting Motzkins
Vincent Vajnovszki

We present the first Gray code for Motzkin words and their generalizations: k colored Motzkin words and Schroder words. The construction of these Gray codes is based on the observation that a k colored Motzkin word is the shuffle of a Dyck word by a k-ary variation on a trajectory which is a combination. In the final part of the paper we give some algorithmic considerations and other possible applications of the techniques introduced here.

Theoretical Computer Science,
A Loopless Algorithm for Generating the Permutations of a Multiset
Vincent Vajnovszki

Many combinatorial structures can be constructed from simpler components. For example, a permutation can be constructed from cycles, or a Motzkin word from a Dyck word and a combination. In this paper we present a constructor for combinatorial structures, called shuffle on trajectories (defined previously in a non-combinatorial context), and we show how this constructor enables us to obtain a new loopless generating algorithm for multiset permutations from similar results for simpler objects.

Discrete Applied Mathematics,
Gray Code for Derangements
Jean-Luc Baril, Vincent Vajnovszki

We give the first Gray code and constant average time generating algorithm for derangements , i.e., permutations with no fixed points. In our Gray code, each derangement is transformed into its successor either via one or two transpositions or a rotation of three elements. We generalize these results to permutations with number of fixed points bounded between two constants.

WORDS03,
Gray codes for order p Lucas strings
Jean-Luc Baril, Vincent Vajnovszki

We give the first Gray code for the set of order p length-n Lucas strings, i.e., the set of length-n binary strings with no p consecutive 1's nor a 1l prefix and a 1m suffix with l+m>=p. Our Gray code proves also that the order p n-dimensional Lucas cube is Hamiltonian iff n is not a multiple of p+1, and its second power is always Hamiltonian.

JMITL04,
Gray viziting Lyndons
Vincent Vajnovszki

In this paper we show that a slight modification of the original Gray code order induces a Gray code on the set of length n binary pre-necklaces, necklaces, bracelets and Lyndon words. Given the simplicity of our approach is surprising that it was never explored.

GASCom,
Gray codes for necklaces and Lyndon words of arbitrary base
M. Weston, V. Vajnovszki

Recently, a Gray code for unrestricted binary necklaces and their relatives was discovered by Vajnovszki [Discrete Mathematics & Theoretical Computer Science, to appear]. The Gray code is constructed by modifying the classical FKM algorithm for generating necklaces in lexicographic order. We present a generalisation of Vajnovszki's algorithm, giving a Gray code for necklaces and their relatives over an arbitrarily-large alphabet. Each string in the resulting code differs from adjacent strings in at most three positions. To our knowledge this is the first Gray code for necklaces of arbitrary base.

CGCS2007,
Generating involution, Bell and Stirling permutations
I. Fanti, M. Poneti and V. Vajnovszki

There is a wide literature on the exhaustive generation of permutations, beginning by the campanologists' historical works followed by more systematical approaches. More recently, a great interest was given to the generation of particular classes of permutations: involutions, derangements, with fixed number of cycles or inversions, with forbidden patterns ... In this paper we give a new generating algorithm for unrestricted permutations. It is based on both, the decomposition of a permutation as product of transpositions and a product of disjoint cycles. We show that slight modifications of our general algorithm produce similar algorithms for some restricted classes of permutations: involutions or Bell permutations. Further refinement yelds algorithms for these classes of permutations subject to other restrictions: given number of cycles or fixed points ...

TCJ,
Some Generalizations of a Simion-Schmidt Bijection
A. Juarna, V. Vajnovszki

In 1985 Simion and Schmidt gave a constructive bijection $\varphi$ from the set of all length (n-1) binary strings having no two consecutive 1s to the set of all length n permutations avoiding all patterns in 123,132,213. In this paper we generalize $\varphi$ to an injective function from {0,1}^{n-1} to the set S_n of all length n permutations and derive from it four bijections $\varphi: P\to Q$ where $P\subseteq \{0,1\}^{n-1}$ and $Q\subset S_n$. The domains are sets of restricted binary strings and the codomains are sets of pattern-avoiding permutations. As a particular case we retrieve the original Simion-Schmidt bijection.