depo2ind

Положение узла по глубине в индекс узла

Синтаксис

N = depo2ind(ORD,[D P])

Описание

depo2ind - утилита управления деревом.

Для дерева порядка ORD, N = depo2ind(ORD,[D P]) вычисляет индексы N узлов, глубины и положения которых закодированы в [D,P].

Нумерация узлов выполняется слева направо и сверху вниз. Корневой индекс 0.

D и P векторов-столбцов. Значения глубин D и положения P должны быть таковы что <reservedrangesplaceholder1> ≥0 и порядок 0  <reservedrangesplaceholder0> D-1.

Выходные индексы N такие, что 0 ≤ N < (ORDmax(D)- 1) / <reservedrangesplaceholder0>–1.

Обратите внимание, что для вектора-столбца X, у нас есть depo2ind(O,X) = X.

Примеры

свернуть все

Создайте двоичное дерево глубины 3. Постройте график дерева.

ord = 2;
t = ntree(ord,3);
plot(t)

Figure contains an axes and an object of type uimenu. The axes with title Tree Decomposition contains 29 objects of type line, text.

Объедините узлы индексов 4 и 5. Постройте график нового дерева.

t = nodejoin(t,5);
t = nodejoin(t,4);
figure
plot(t)

Figure contains an axes and an object of type uimenu. The axes with title Tree Decomposition contains 21 objects of type line, text.

Перечислите положение узлов дерева по глубине.

aln_depo = allnodes(t,'deppos')
aln_depo = 11×2

     0     0
     1     0
     1     1
     2     0
     2     1
     2     2
     2     3
     3     0
     3     1
     3     6
      ⋮

Преобразуйте положение глубины в индекс.

aln_ind = depo2ind(ord,aln_depo)
aln_ind = 11×1

     0
     1
     2
     3
     4
     5
     6
     7
     8
    13
      ⋮

См. также

Представлено до R2006a