# noleaves

Determine nonterminal nodes

## Syntax

``N = noleaves(T)``
``N = noleaves(T,"dp")``

## Description

`noleaves` is a tree-management utility.

````N = noleaves(T)` returns the indices of the nonterminal nodes of the tree `T` in the column vector `N`. The nodes are ordered from left to right and from top to bottom. The root index is 0.```

example

````N = noleaves(T,"dp")` returns the depths and positions of the nonterminal nodes. `N(i,1)` is the depth and `N(i,2)` is the position of the ith nonterminal node.```

## Examples

collapse all

Create a binary tree of depth 3.

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

Merge the nodes with indices 4 and 5. Plot the tree.

```t = nodejoin(t,5); t = nodejoin(t,4); fig = plot(t);```

Programmatically, in Node Label, change the selected item from `Depth_Position` to `Index`.

`plot(t,"setNodeLabel",fig,"Index")`

List the indices of the nonterminal nodes.

`noleaves(t)`
```ans = 5×1 0 1 2 3 6 ```

List the depth-position of the nonterminal nodes.

`noleaves(t,"dp")`
```ans = 5×2 0 0 1 0 1 1 2 0 2 3 ```

## Input Arguments

collapse all

Tree, specified as a `dtree`, `ntree`, or `wptree` object.

## Output Arguments

collapse all

Nonterminal node description, returned as a column vector or matrix. The nodes are numbered from left to right as in the tree `T`. The root index is 0.

• If `N = noleaves(T)`, `N` is a P-by-1 column vector, where P is the number of nonterminal nodes in the tree. `N(i)` is the index of the ith nonterminal node.

• If `N = noleaves(T,"dp")`, `N` is a P-by-2 matrix. `N(i,1)` is the depth and `N(i,2)` is the position of the ith nonterminal node.

## Version History

Introduced before R2006a