KU Math 725: Lecture 1/28/2026


Back to main page

On this page:


Trees

We started by recllaing Prop 1.24 in Reuven’s notes.

[proposition=%counter% (Proposition 1.24 in Reuven’s notes)] A graph $G$ is acyclic if and only if $c(G) = n(G) - e(G)$. In particular, every tree $T$ has $c(G) = 1 = n(T) - e(T)$. [/proposition]

We then stated a corollary that is super obvious via pictures but subtle to prove.

[proposition=%counter% (Corollary 1.25 in Reuven’s notes)] Every tree $T$ with $n \ge 2$ has at least two leaves (vertices with degree 1). [/proposition]

[proof] By the Handshake Theorem,

\[\sum_{v\in V(T)} d(v) = 2e(T) = 2(n(T) - 1) = 2n - 2.\]

Since $n \ge 2$, it follows that $2n - 2 \ge 0$. Now we claim that if a sum of $n$ positive integers is $2n - 2$, it follows that at least two summands are $1$. Indeed, if none of the summands are $1$, then each summand is at least two. So then we would have

\[\sum_{v \in V(T)} d(v) \ge 2n > 2n - 2,\]

which is a contradiction. [/proof]

Equivalent conditions to being a tree

Then we stated a theorem that shows up in the homework. Reuven also gave a suggested path of proving all of the equivalences.

[theorem=%counter% (Theorem 1.26 in Reuven’s notes; 1.5.1 in Diestel)] Let $G = (V, E)$, $n = |V|$, $e = |E|$. Then the following are equivalent:
(1) $G$ is a tree.
(2) $G$ is minimally connected, i.e. $G - a$ is disconnected for all $a \in E$.
(2’) $G$ is connected and $e = n - 1$.
(3) $G$ is maximally acyclic, $G$ is acyclic and $G + xy$ has a cycle for every $x, y \in V(G)$ with $xy \notin E$.
(3’) $G$ is acyclic and $e = n - 1$.
(4) $G$ has no loops, and for every $v, w\in V$ there is exactly one $v - w$ path in $G$. [/theorem]

Reuven’s suggested path for proving this theorem is

\[\begin{align*} (2) &\iff (2'), \\ (3) &\iff (3'), \\ (1) &\iff (2'), \\ (1) &\iff (3'), \\ (1) &\iff (4). \end{align*}\]

[remark=%counter%] The last condition (4), is especially useful. Intuitively, it also make sense too since if there were multiple paths $v - w$, then you can merge them to obtain a cycle. [/remark]

Spanning trees

[definition=%counter%] Let $G$ be connected. A spanning tree of $G$ is a tree $T$ that is a subgraph of $G$ with $V(T) = V(G)$. More generally, a spanning subgraph is a subgraph of $G$ with some vertex set. [/definition]

[remark=%counter%] Every connected graph has at least one spanning tree. We will prove this below but this should be pretty obvious. [/remark]

[remark=%counter%] A classic combinatorics problem is to ask how many spanning trees a graph has. For many classes of graphs, there are amazing formulas for this number. [/remark]

[remark=%counter%] Yet another classic combinatorics/computer science problem is to consider weighted graphs. Then how does one find a spanning tree that minimizes total cost? [/remark]

Often, we will fix a vertex $r$ as the “root” of a tree $T$. Intuitively, this just means you pick out a vertex $r$ of the tree and then pretend you use your fingers to hold up the graph from $r$ and let the graph dangle in the air. This defines an obvious partial order on the vertices of $T$:

\[x \ge y \text{ if } y \text{ lies on the unique path } x \to r \text{ in } T.\]

A more down to earth way of saying that is if we use the “dangling from $r$ analogy”, then $x \ge y$ if $x$ and $y$ are on the same component of $G - r$ and $x$ is further down than $y$ is. Note in general this partial order is not a total order on the vertices. If $x$ and $y$ are on separate branches of $G - r$, then there is no path $x \to y \to r$.

There is an additional bit of terminology. For every $x \neq r$, the vertex adjacent to $x$ in $x \to r$ is called the parent of $x$, denoted $p(x)$. Notice that there cannot possibly be two parents! Such a situation would violates there being a unique path $x \to r$.

[theorem=%counter% (Theorem 1.28 in Reuven’s notes)] Let $G$ be a connected simple graph and $r \in V$ . There exists a spanning tree $T$ with the property that for every $x \in V$, the path $x \to r$ in $T$ is the minimum length over all $x \to r$ paths in $G$. [/theorem]

[proof] For $x \in V$, let $N(x)$ denote the set of all vertices adjacent to $x$. Additionally, define

\[N[x] = N(x) \sqcup \{x\}.\]

Now let $N^0[x] = \{x\}$ and $N^{k}[x] = \bigcup_{y \in N^{k-1}[x]}N[y]$. Since $G$ is connected and finite, we have that

\[N^k[x] = V(G)\]

for some $k$. We construct a spanning tree $T$ with root $r$ be the following algorithm:

  1. Start by putting $r$ in $T$.
  2. For every $x \in N^1[r]\setminus N^0[r]$, add $rx$ to $T$.
  3. For every $x \in N^2[r] \setminus N^1[r]$, $x$ has a neighbor $y \in N^1[r]$. So add edge $xy$ and $x$ to $T$.
  4. Continue inductively. This process terminates since $N^k[r] = V$ for some $k$. By construction, each vertex in $T$ is minimum length from $r$. [/proof]

[remark=%counter%] This definition of distance from a fixed $r$ makes $G$ into a metric space. [/remark]