(depth, value_callback, max_siblings, max_depth)
return n
Random generates a Tree structure using the value_callback
    for data generation and the method "Grow"

    :param depth: the initial depth, zero
    :param value_callback: the function which generates the random
                           values for nodes
    :param max_siblings: the maximum number of sisters of a node
    :param max_depth: the maximum depth of the tree

    :rtype: the root node of created tree
Random generates a Tree structure using the value_callback
    for data generation and the method "Grow"
Random generates a Tree structure using the value_callback for data generation and the method Grow
def buildGTreeGrow(depth, value_callback, max_siblings, max_depth):
    """ Random generates a Tree structure using the value_callback
    for data generation and the method "Grow"

    :param depth: the initial depth, zero
    :param value_callback: the function which generates the random
                           values for nodes
    :param max_siblings: the maximum number of sisters of a node
    :param max_depth: the maximum depth of the tree

    :rtype: the root node of created tree
    """

    random_value = value_callback()
    n = GTreeNode(random_value)

    if depth == max_depth:
        return n

    for i in xrange(random.randint(0, abs(max_siblings))):
        child = buildGTreeGrow(depth + 1, value_callback, max_siblings, max_depth)
        child.setParent(n)
        n.addChild(child)
    return n
def buildGTreeGrow ( depth , value_callback , max_siblings , max_depth ) : random_value = value_callback ( ) n = GTreeNode ( random_value ) if depth == max_depth : return n for i in xrange ( random . randint ( 0 , abs ( max_siblings ) ) ) : child = buildGTreeGrow ( depth + 1 , value_callback , max_siblings , max_depth ) child . setParent ( n ) n . addChild ( child ) return n