nodes: 0, module; 1, function_definition; 2, function_name:_build_bst_from_sorted_values; 3, parameters; 4, block; 5, identifier:sorted_values; 6, expression_statement; 7, if_statement; 8, expression_statement; 9, expression_statement; 10, expression_statement; 11, expression_statement; 12, return_statement; 13, comment:"""Recursively build a perfect BST from odd number of sorted values.
  
      :param sorted_values: Odd number of sorted values.
      :type sorted_values: [int | float]
      :return: Root node of the BST.
      :rtype: binarytree.Node
      """; 14, comparison_operator:len(sorted_values) == 0; 15, block; 16, assignment; 17, assignment; 18, assignment; 19, assignment; 20, identifier:root; 21, call; 22, integer:0; 23, return_statement; 24, identifier:mid_index; 25, binary_operator:len(sorted_values) // 2; 26, identifier:root; 27, call; 28, attribute; 29, call; 30, attribute; 31, call; 32, identifier:len; 33, argument_list; 34, None; 35, call; 36, integer:2; 37, identifier:Node; 38, argument_list; 39, identifier:root; 40, identifier:left; 41, identifier:_build_bst_from_sorted_values; 42, argument_list; 43, identifier:root; 44, identifier:right; 45, identifier:_build_bst_from_sorted_values; 46, argument_list; 47, identifier:sorted_values; 48, identifier:len; 49, argument_list; 50, subscript; 51, subscript; 52, subscript; 53, identifier:sorted_values; 54, identifier:sorted_values; 55, identifier:mid_index; 56, identifier:sorted_values; 57, slice; 58, identifier:sorted_values; 59, slice; 60, identifier:mid_index; 61, binary_operator:mid_index + 1; 62, identifier:mid_index; 63, integer:1
code: def _build_bst_from_sorted_values(sorted_values):
      """Recursively build a perfect BST from odd number of sorted values.
  
      :param sorted_values: Odd number of sorted values.
      :type sorted_values: [int | float]
      :return: Root node of the BST.
      :rtype: binarytree.Node
      """
      if len(sorted_values) == 0:
          return None
      mid_index = len(sorted_values) // 2
      root = Node(sorted_values[mid_index])
      root.left = _build_bst_from_sorted_values(sorted_values[:mid_index])
      root.right = _build_bst_from_sorted_values(sorted_values[mid_index + 1:])
      return root