(Latest Revision: Wed Mar 7, 2018 )
Summary of Basic Facts about Undirected Graphs and Trees
Proposition 1:
Let G be an undirected graph.
G is a tree if and only if
G is connected and G has no cycles.
Proposition 2:
Let G be a connected undirected graph.
G has a subgraph that is a spanning tree of G.
Proposition 3:
Let G be a connected undirected graph with n nodes
G has at least n-1 edges.
Corollary to Proposition 3:
Let G be a connected undirected graph with n nodes
and n-1 edges. G is a tree.
Proposition 4:
Let G be an undirected graph with n nodes and more
than n-1 edges. G contains a cycle.
Corollary to Proposition 4:
Let G be a tree with n nodes.
G has exactly n-1 edges. (no more and no less)
Definition 5:
A set T of edges of an undirected graph G is promising
if it can be extended to form the edge set
of a minimal cost spanning tree of G.
Definition 6:
Let B be a non-empty proper subset of the node set V
of an undirected graph G. An edge e leaves B
if one end of e is in B and the other end is in V-B.
Lemma 6.3.1:
Let G be a connected undirected graph, each edge having a
positive length. Let B be a non-empty proper subset
of the node set V of G. Let T be a promising subset
of the edge set E of G, such that no edge in T leaves B.
Let v be a shortest edge that leaves B. Then the union
of T with the singleton {v} is promising.
Theorem 6.3.2:
If G is a connected undirected graph, then Kruskal's
algorithm finds a minimum cost spanning tree of G.
(In other words, Kruskal's algorithm works.)