多语言展示
当前在线:164今日阅读:55今日分享:34

如何将有序数组转换为平衡二叉搜索树

题目:将一个按升序排列的有序数组,转换为一棵平衡二叉搜索树。注意,平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1。本篇经验将分享一下如何通过递归算法将一个升序排序数组转换为一个平衡二叉搜索树。
工具/原料
1

Eclipse

2

JDK1.8

方法/步骤
1

编写代码,通过递归调用,构建平衡二叉搜索树图1示,声明一个内部静态类,用于构建二叉树图2示,获取数组中间元素作为根节点,左侧元素用于构建左子树,右侧元素用于构建右子树,并通过递归方式构建左右子树。

2

编写代码,用于前序遍历输出二叉树图示,通过前序方式输出二叉树,前序遍历的含义是,先输出本节点,再输出左子树,然后最后输出右子树。

3

编写测试代码图示,主方法中,声明一个升序数组,并调用方法基于这个数组构建一棵平衡二叉搜索树,最后前序遍历输出二叉树用于校验结果。

4

运行测试代码,并在平台提交代码图1示,运行主方法,观察控制台输出,符合预期图2示,平台提交代码,测试通过

注意事项

不同算法基于升序数组构建的平衡二叉搜索树会有不同,只要输出结果符合要求即可

推荐信息