The Subgraph Isomorphism problem asks, given a host graph G on n vertices and
a pattern graph P on k vertices, whether G contains a subgraph isomorphic to P.
The restriction of this problem to planar graphs has often been considered.
After a sequence of improvements, the current best algorithm for planar graphs
is a linear time algorithm by Dorn (STACS '10), with complexity 2O(k)O(n).
We generalize this result, by giving an algorithm of the same complexity for
graphs that can be embedded in surfaces of bounded genus. At the same time, we
simplify the algorithm and analysis. The key to these improvements is the
introduction of surface split decompositions for bounded genus graphs, which
generalize sphere cut decompositions for planar graphs. We extend the algorithm
for the problem of counting and generating all subgraphs isomorphic to P, even
for the case where P is disconnected. This answers an open question by Eppstein
(SODA '95 / JGAA '99)