'Return nodes of the BST in the given order.
Parameters
order : str
The order in which to recursively search the BST.
Possible values are:
"preorder": current node, left subtree, right subtree
"inorder": left subtree, current node, right subtree
"postorder": left subtree, right subtree, current node'

def traverse(self, order=u'inorder'):

    if (order == u'preorder'):
        return self._preorder(self.root, [])
    elif (order == u'inorder'):
        return self._inorder(self.root, [])
    elif (order == u'postorder'):
        return self._postorder(self.root, [])
    raise ValueError(u'Invalid    traversal    method:    "{0}"'.format(order))
