Documentation

depo2ind

Node depth-position to node index

Syntax

N = depo2ind(ORD,[D P])

Description

depo2ind is a tree-management utility.

For a tree of order ORD, N = depo2ind(ORD,[D P]) computes the indices N of the nodes whose depths and positions are encoded within [D,P].

The nodes are numbered from left to right and from top to bottom. The root index is 0.

D and P are column vectors. The values of depths D and positions P must be such that D ≥0 and 0≤ PORDD-1.

Output indices N are such that 0 ≤ N < (ORDmax(D)-1)/ORD–1.

Note that for a column vector X, we have depo2ind(O,X) = X.

Examples

collapse all

Create a binary tree of depth 3. Plot the tree.

ord = 2;
t = ntree(ord,3);
plot(t) Merge the nodes of indices 4 and 5. Plot the new tree.

t = nodejoin(t,5);
t = nodejoin(t,4);
figure
plot(t) List the depth-position of the tree nodes.

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
⋮

Convert the depth-position to index.

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

0
1
2
3
4
5
6
7
8
13
⋮ 