(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.)