Linear matching-time algorithm for the directed graph isomorphism problem

  • James Jianghai Fu
Session 11B
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1004)


The directed graph isomorphism problem is a natural extension of the subtree isomorphism problem and has applications to type systems, functional languages and cyclic term graph rewriting systems. In this paper, we present an efficient algorithm for the ordered labeled directed graph isomorphism problem. Once the pattern graph is preprocessed, the matching process of our algorithm runs in time O(¦ET¦), where ¦ET¦ is the number of edges in the target graph. Our algorithm is particularly useful when the same pattern graph is used many times or the size of the pattern graph is small, which is typically the case in the above applications.


Directed Graph Vector Versus Pattern Graph Isomorphism Problem Functional Language 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    A. Aiken and B. R. Murphy, Implementing regular tree expressions, in Proceedings of 5th ACM Conference on Functional Programming Languages and Computer Architecture, pages 427–447, 1991.Google Scholar
  2. [2]
    A. Aiken and B. R. Murphy, Static type inference in a dynamically typed language, in Proceedings of Eighteenth Annual ACM Symposium on Principles of Programming Languages, pages 279–290, 1991.Google Scholar
  3. [3]
    A. Corradini, Term rewriting in CT , in Proceedings of International Joint Conference on Theory and Practice of Software Development, pages 468–484, 1993.Google Scholar
  4. [4]
    N. Dershowitz and S. Kaplan, Rewrite, rewrite, rewrite, rewrite, rewrite ... in Proceedings of Sixteenth Annual Symposium on Principles of Programming Languages, pages 250–259, 1989.Google Scholar
  5. [5]
    J. Fu, Pattern matching in directed graphs, in Proceedings of 6th Annual Symposium on Combinatorial Pattern Matching, pages 64–77, 1995.Google Scholar
  6. [6]
    J. R. W. Glauert, J. R. Kennaway and M. R. Sleep, Dactl: An experimental graph rewriting language, in Proceedings of Fourth International Workshop on Graph Grammars and Their Application to Computer Science, pages 378–395, 1990.Google Scholar
  7. [7]
    R. Grossi, A note on the subtree isomorphism for ordered trees and related problems, Information Processing Letters, 39:81–84, 1991.Google Scholar
  8. [8]
    N. Heintze and J. Jaffar, A finite presentation theorem for approximating logic programs, in Proceedings of Seventeenth Annual ACM Symposium on Principles of Programming Languages, pages 197–209, 1990.Google Scholar
  9. [9]
    C. M. Hoffmann and M. J. O'Donnell, Pattern matching in trees, Journal of ACM, 29(1):68–95, 1982.Google Scholar
  10. [10]
    K. H. Holm, Graph matching in operational semantics and typing, in Proceedings of Colloquium on Trees in Algebra and Programming, pages 191–205, 1990.Google Scholar
  11. [11]
    J. Katzenelson, S. S. Pinter and E. Schenfeld, Type matching, type-graphs, and the Schanuel conjecture, ACM Transactions on Programming Languages and Systems, 14(4):574–588, Oct. 1992.Google Scholar
  12. [12]
    J. W. Klop, Term rewriting systems, Technical Report CS-R9073, Free University, Department of Mathematics and Computer Science, 1990.Google Scholar
  13. [13]
    E. Mäkinen, On the subtree isomorphism problem for ordered trees, Information Processing Letters, 32:271–273, 1989.Google Scholar
  14. [14]
    R. Tarjan, Depth first search and linear graph algorithms, SIAM Journal on Computing, 1(2):146–160, 1972.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • James Jianghai Fu
    • 1
  1. 1.Department of Computer ScienceUniversity of WaterlooWaterlooCanada

Personalised recommendations