Определите, является ли дерево покрывающим деревом
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] Siek, J.G., Lee, L-Q, and Lumsdaine, A. (2002). Руководство пользователя библиотеки График (Upper Saddle River, NJ: Pearson Education).
graphallshortestpaths | graphconncomp | graphisdag | graphisomorphism | graphmaxflow | graphminspantree | graphpred2path | graphshortestpath | graphtopoorder | graphtraverse | isspantree