depo2ind

Узел, позиционный глубиной в индекс узла

Синтаксис

N = depo2ind(ORD,[D P])

Описание

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

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

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

D и P являются вектор-столбцами. Значения глубин D и положения P должны быть таковы что D ≥0 и 0 ≤ PORDD-1.

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

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

Примеры

свернуть все

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

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

Figure contains an axes object and an object of type uimenu. The axes object 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 object and an object of type uimenu. The axes object 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