Kostra grafu G = (V, X) je graf T = (W, Y) | W = V, Y c X, který je stromem. V každém souvislém neorientovaném grafu existuje alespoň jedna kostra. V grafu s n vrcholy má každá kostra právě n-1 hran.
V hranově ohodnocených grafech definujeme minimální a maximální kostru grafu. Minimální kostrou souvislého hranově ohodnoceného grafu je kostra, pro kterou je součet ohodnocení hran minimální. Analogicky maximální kostrou grafu je kostra s maximálním součtem ohodnocení hran.