Perform pre-order traversal without recursive function calls.
When a leaf node is first encountered,
funcis called with the leaf node as its argument, and its result is appended to the list.
For example, the statement:
ids = root.pre_order(lambda x: x.id)
returns a list of the node ids corresponding to the leaf nodes of the tree as they appear from left to right.
Applied to each leaf ClusterNode object in the pre-order traversal. Given the
i-th leaf node in the pre-order traversal
n[i], the result of
func(n[i])is stored in
L[i]. If not provided, the index of the original observation to which the node corresponds is used.
The pre-order traversal.