Description

Returns the depth of a given binary tree (BT) starting from the root (root) of the tree.

Code

This script was tested and works on OpenSim version 0.7.5!

///////////////////////////////////////////////////////////////////////////
//    Copyright (C) 2013 Wizardry and Steamworks - License: GNU GPLv3    //
///////////////////////////////////////////////////////////////////////////
integer wasBinaryTreeDepth(list BT, string root) {
    if(root == "") return 0;
    integer left = wasBinaryTreeDepth(BT, wasBinaryTreeLeft(BT, root));
    integer right = wasBinaryTreeDepth(BT, wasBinaryTreeRight(BT, root));
    if(left > right) return left + 1;
    return right + 1;
}