Recipe
Classify a candidate H against G
Use when: you're given a graph G and a candidate H, or just a vertex subset, and asked whether H is a subgraph, an induced subgraph, a spanning subgraph, or none of these
Goal: a definite classification of H against G, backed by the exact vertex and edge check that produced it
Taught in Subgraphs, induced subgraphs, and spanning subgraphs
Quick recipe
-
1
Check that V(H) \subseteq V(G), that E(H) \subseteq E(G), and that every edge in E(H) has both endpoints in V(H).
Example
Using G with V(G)=\{A,B,C,D,E\} and E(G) = \{AB,AC,AD,CD,BE,DE\}: any H built only from these vertices and only from these six edges passes Step 1 automatically.
- all three conditions hold — continue to Step 2
- any condition fails, such as an edge of H not in G, or an edge whose endpoint is missing from V(H) — H is not a subgraph of G at all, stop here
Why: a subgraph is only ever allowed to drop vertices and edges from G, never to add a vertex, an edge, or an edge with a missing endpoint.
-
2
Compare V(H) to V(G) directly. Spanning requires every vertex of G to survive in H, with the edge set free to be any subset.
Example
For H with V(H) = \{A,B,C,D,E\} and E(H) = \{AB, CD\}: V(H) = V(G) exactly, so H is spanning.
- V(H) = V(G) exactly — H is at least a candidate spanning subgraph, continue to Step 3
- V(H) is a proper subset of V(G) — H cannot be spanning, but still check Step 3 on this smaller vertex set
Why: spanning is entirely a vertex-side condition, unrelated to how many of G's eligible edges H actually kept.
-
3
For the vertex set V(H), list every G-edge with both endpoints in V(H); call this the eligible edge set. Compare it to E(H) exactly.
Example
For V(H) = \{B,D,E\}, the eligible edges among G's six are BE and DE (BD is not a G-edge). If E(H) = \{BE, DE\}, H is induced on \{B,D,E\}. Back on V(H) = V(G), the eligible set is all six G-edges; the earlier H with E(H) = \{AB,CD\} is missing four of them (AC, AD, BE, DE), so that H is not induced.
- E(H) equals the full eligible set — H is induced on V(H)
- E(H) is missing at least one eligible edge — H is not induced
Why: an induced subgraph is never allowed to selectively drop an edge that both its endpoints qualify for, unlike an ordinary subgraph.
-
4
Passing both Step 2 and Step 3 only happens when V(H) = V(G) and every eligible edge survived, which forces H = G itself. Spanning-but-not-induced keeps every vertex while dropping some eligible edge. Induced-but-not-spanning restricts to fewer vertices while keeping all of them eligible among those. Failing both restricts the vertices and still drops an eligible edge among the ones that remain.
Why: the two checks are independent, so all four combinations are genuinely possible outcomes, not just two.
Common mistakes
- Assuming "every vertex kept" by itself makes a subgraph induced -- spanning and induced are independent checks.
- Building the eligible edge set from the wrong vertex set, using V(G) instead of the smaller V(H) actually being tested.
- Concluding "not a subgraph" just because H is missing some of G's edges -- an ordinary subgraph is allowed to drop edges freely.
- Forgetting that dropping even one eligible edge disqualifies H as induced, no matter how many other eligible edges it kept.