Cây bao trùm (tiếng Anh: spanning tree), còn được gọi là cây khung, của đồ thị G là cây con của đồ thị G, chứa tất cả các đỉnh của G. Nói cách khác, cây bao trùm của một đồ thị G là một đồ thị con của G, chứa tất cả các đỉnh của G, liên thông và không có chu trình.
Cây bao trùm của đồ thị liên thông G cũng có thể định nghĩa như một đồ thị con không chu trình lớn nhất, hay một đồ thị con liên thông nhỏ nhất của G.
Mọi đồ thị liên thông đều có cây bao trùm.
Định lý (sự tồn tại của cây khung)
Mọi đồ thị liên thông đều có chứa ít nhất 1 cây khung (cây tối đại)
Số các cây bao trùm của một đồ thị liên thông
Gọi t(G) là số các cây bao trùm của đồ thị liên thông G. Trong một số trường hợp, số t(G) có thể tính trực tiếp.
Chẳng hạn nếu G là một cây, khi đó t(G)=1, còn khi G là một đồ thị vòng với n đỉnh thì t(G)=n.
Với đồ thị G bất kỳ, số t(G) có tính nhờ Định lý Kirchhoff.
Công thức Cayley là công thức cho số các cây bao trùm của đồ thị đầy đủ
với n đỉnh: .
Nếu G là một đa đồ thị và e là một cạnh của G, thì số t(G) các cây bao trùm của G thỏa mãn quan hệ t(G)=t(G-e)+t(G/e) (deletion-contraction recurrence), trong đó G-e là đa đồ thị suy ra từ G bằng cách xóa đi cạnh e và G/e là đồ thị rút gọn cạnhe của G, trong đó các cạnh bội xuất hiện từ phép rút gọn này không bị xóa.
Nếu trên tập các cạnh của G có một hàm, được gọi là hàm trọng số, nhận giá trị thực (u,v), thì cây bao trùm có tổng trọng số trên các cạnh nhỏ nhất được gọi là cây bao trùm nhỏ nhất. Có nhiều thuật toán tìm cây bao trùm nhỏ nhất, chẳng hạn như thuật toán Prim, thuật toán Kruskal, thuật toán Borůvka.