Computing the maximal canonical form for trees in polynomial time
- 13 Downloads
Known algorithms computing a canonical form for trees in linear time use specialized canonical forms for trees and no canonical forms defined for all graphs. For a graph \(G=(V,E)\) the maximal canonical form is obtained by relabelling the vertices with \(1,\ldots ,|V|\) in a way that the binary number with \(|V|^2\) bits that is the result of concatenating the rows of the adjacency matrix is maximal. This maximal canonical form is not only defined for all graphs but even plays a special role among the canonical forms for graphs due to some nesting properties allowing orderly algorithms. We give an \(O(|V|^2)\) algorithm to compute the maximal canonical form of a tree.
KeywordsTree Canonical form Structure enumeration
- 3.I.A. Faradžev, Constructive enumeration of combinatorial objects, in Colloques Internationaux C.N.R.S. No260—Problèmes Combinatoires et Théorie des Graphes, (Orsay, 1976), pp. 131–135Google Scholar
- 4.R. Grund, Konstruktion schlichter graphen mit gegebener gradpartition. Bayreuth. Math. Schriften 44, 73–104 (1993)Google Scholar
- 5.G. Li, F. Ruskey, The advantages of forward thinking in generating rooted and free trees, in 100th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), (1999), pp. 939–940Google Scholar
- 7.R.C. Read (ed.), Graph Theory and Computing (Academic Press, New York, 1972)Google Scholar