Определить, является ли дерево покрывающим деревом
TF = graphisspantree(G)
G | N-на-N разреженная матрица, нижний треугольник которой представляет неориентированный граф. Ненулевые записи в матрице G указывают на наличие ребра. |
Совет
Вводные сведения о функциях теории графов см. в разделе Функции теории графов.
возвращает логический 1 (TF = graphisspantree(G)true), если G является покрывающим деревом и логическим 0 (false) в противном случае. Связующее дерево должно касаться всех узлов и быть ациклическим. G - разреженная матрица N-на-N, нижний треугольник которой представляет неориентированный граф. Ненулевые записи в матрице G указывают на наличие ребра.
Создайте объект phytree из файла филогенетического дерева.
tr = phytreeread('pf00002.tree')
Phylogenetic tree object with 33 leaves (32 branches)Создайте матрицу соединения из объекта phytree.
[CM,labels,dist] = getmatrix(tr);
Определите, является ли матрица соединений покрывающим деревом.
graphisspantree(CM)
ans =
1Добавьте ребро между корнем и первым листом в матрице соединения.
CM(end,1) = 1;
Определите, является ли измененная матрица соединения покрывающим деревом.
graphisspantree(CM)
ans =
0[1] Сиек, Дж. Г., Ли, L-Q, и Люмсдейн, А. (2002). Руководство пользователя и справочное руководство библиотеки Boost Graph (Upper Saddle River, NJ: Pearson Education).
graphallshortestpaths | graphconncomp | graphisdag | graphisomorphism | graphmaxflow | graphminspantree | graphpred2path | graphshortestpath | graphtopoorder | graphtraverse | isspantree