Постройте изображение дерева
treeplot(p)
treeplot(p,nodeSpec,edgeSpec)
treeplot(p)
строит изображение дерева, учитывая вектор родительских указателей, с p(i)
= 0 для корня.
treeplot(p,nodeSpec,edgeSpec)
позволяет дополнительным параметрам nodeSpec
и edgeSpec
, чтобы установить цвет узла или цвет обводки, маркер и LineStyle. Используйте ''
, чтобы не использовать один или оба.
Чтобы построить дерево с 12 узлами, вызовите treeplot
с входным вектором с 12 элементами. Индекс каждого элемента в векторе показывают смежный с каждым узлом в фигуре ниже. (Эти индексы показывают только для точки иллюстрирования примера; они не часть treeplot
вывод.)
Чтобы сгенерировать этот график, установите значение каждого элемента в векторе nodes
к индексу его родительского элемента, (обнуление родительского элемента корневого узла).
Узел, отмеченный, 1
в фигуре представлен nodes(1)
во входном векторе, и потому что это - корневой узел, который имеет родительский элемент нуля, вы обнуляете его значение:
nodes(1) = 0; % Root node
nodes(2)
и nodes(8)
являются дочерними элементами nodes(1)
, таким образом, устанавливает эти элементы входного вектора к 1
:
nodes(2) = 1; nodes(8) = 1;
nodes(5:7)
является дочерними элементами nodes(4)
, таким образом, устанавливает эти элементы на 4
:
nodes(5) = 4; nodes(6) = 4; nodes(7) = 4;
Продолжите этим способом, пока каждый элемент вектора не идентифицирует свой родительский элемент. Для графика, показанного выше, теперь выглядит так вектор nodes
:
nodes = [0 1 2 2 4 4 4 1 8 8 10 10];
Теперь вызовите treeplot
, чтобы сгенерировать график:
treeplot(nodes)
etree
| etreeplot
| treelayout