Spanning Tree

Context: FIT1058_MOC · a tree subgraph reaching every vertex · a minimal connecting skeleton · cost-optimised by Kruskal’s Greedy Algorithm

Quick Revision

  • 🎯 Objective: a tree subgraph containing every vertex ➔ a minimal connected skeleton.
  • 📦 Core Components: delete-edges or add-edges construction ➔ edges.
  • ⚡ Key Constraint: every connected graph has one; disconnected ⟹ spanning forest.

📝 Core

1. The Spanning Tree

  • Definition ➔ a Subgraph that is a Tree and includes every vertex.
  • Minimal connected ➔ connected, but deleting any edge disconnects it.
  • Edges ➔ exactly .

2. Two Constructions

  • Delete ➔ remove edges whose removal keeps it connected, until none can be.
  • Add ➔ add edges that create no cycle, until none can be (partial = Forest).
  • Both succeed ➔ every connected graph has a spanning tree.

3. Multiplicity

  • Many ➔ different orders usually give different spanning trees.
  • Disconnected ➔ a spanning forest, one tree per component.

Key identities:

When It Flips: minimality is the point — drop every redundant edge for the cheapest connectivity ( edges). Kruskal's Greedy Algorithm adds costs, choosing a minimum-cost spanning tree.

📊 Exam Execution Trace

Manual Execution Trace

Add edges to (4-cycle + diagonal ):

Step / StateEdgeCycle?In tree?
0 (Init)
1no
2no
3no✅ (spans, )
4yesrejected

⚠️ Common Mistakes

  • 💡 Add-method stays a forest ➔ acyclic throughout, connected only at the end; the final tree has edges (minimum to connect all).

🧠 Active Recall