python利用数组创建平衡二叉树
时间: 2023-04-12 15:00:43 浏览: 112
创建平衡二叉树
4星 · 用户满意度95%
可以使用heapq模块中的heapify函数将数组转换为最小堆,然后递归地将堆的中间元素作为根节点,左半部分作为左子树,右半部分作为右子树,构建平衡二叉树。具体实现可以参考以下代码:
import heapq
def build_balanced_bst(nums):
heapq.heapify(nums)
if not nums:
return None
mid = len(nums) // 2
root = TreeNode(nums[mid])
root.left = build_balanced_bst(nums[:mid])
root.right = build_balanced_bst(nums[mid+1:])
return root
阅读全文