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)

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

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

Перечислите позиционные глубиной из древовидных узлов.

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