Кістякове дерево (англ.Spanning tree) зв'язаного неорієнтованого графа — ациклічний (тобто, без циклів) зв'язний підграф цього графа, який містить усі його вершини[1]. Неформально кажучи, кістякове дерево складається з деякої підмножиниребер графа, таких, що рухаючись цими ребрами можна з будь-якої вершини графа потрапити до будь-якої іншої.
Кістякове дерево також називають каркасним деревом[1], покриваючим деревом[джерело?], кістяком або каркасом графа[2].
Властивості
Будь-яке кістякове дерево у графі з n вершинами містить рівно n — 1 ребер.
Кількість кістякових дерев у повному графі з n вершинами подається відомою формулою Келі:
У загальному випадку, кількість кістякових дерев у довільному графі можна обчислити за допомогою так званої матричної теореми про дерева[джерело?].
Кістякове дерево може бути побудовано майже будь-яким алгоритмом обходу графа, наприклад пошуком у глибину або у ширину. Воно складається з усіх пар ребер (u, v), таких, що алгоритм, переглядаючи вершину u, виявляє в її списку суміжності нову, невиявлену раніше вершину v.
Кістякове дерево, побудоване обходом графа починаючи з вершини s за алгоритмом Дейкстри, має властивість, що найкоротший шлях у графі з вершини s до будь-якої іншої вершини — це шлях з s до цієї вершини в побудованому дереві.
Існує кілька паралельних і розподілених алгоритмів пошуку кістякового дерева. Як практичний приклад розподіленого алгоритму можна навести протокол STP.
↑ абвР.М. Трохимчук. Теорія графів. — Навчальний посібник для студентів факультету кібернетики. — К : РВЦ «Київський університет», 1998. — С. 24. — ISBN 966-594-043-0.