- 1
- 0
- 约2.75万字
- 约 19页
- 2021-01-16 发布于湖南
- 举报
文档来源为 :从网络收集整理 .word 版本可编辑 .欢迎下载支持 .
Java基础复习笔记 08 数据结构 -二叉树和二叉树的遍历
刘岩
Email:
1. 二叉树
一般的树限制比较少,所以才提出了具有特色的二叉树的概念。二叉树顾名思义,每个
节点最多有两个子节点,分别叫做左子节点和右子节点。有了这个限定性后,就可以干
很多树不能干的事情了。如果树的所有层,除了最后一层的节点外都是两个子节点,那
么称这个树为满二叉树。如下图
若设二叉树的高度为 h ,除第 h 层外,其它各层 (1~ h-1) 的结点数都达到最大个数,
第 h 层所有的节点都连续集中在最左边,这就是完全二叉树。
2. 二叉树的操作
二叉树具有为指定节点增加子节点操作、判断树是否为空、返回根节点、返回指定节点
的父节点,返回指定节点的左子节点、返回指定节点的右子节点、返回树的深度、返回
指定节点的位置。
3. 二叉树的延伸
其实二叉树只是一个引子,计算机界很多的算法都是根据二叉树所展开的,比如排序二
叉树、红黑树、哈夫曼树、线索二叉树等等。
1
文档来源为 :从网络收集整理 .word 版本可编辑 .欢迎下载支持 .
4. 顺序实现二叉树
下面我们来看看二叉树的顺序实现方式, 顺序实现二叉树就是利用数组存储所有的二叉
树的节点。代码如下
package ;
/**
* 顺序二叉树
*
* @author liuyan
*/
publicclass ArrayBinaryTreeT {
// 树的默认深度
privatestaticfinalint DefTreeDeep = 4;
// 节点数组
private Object[] datas ;
// 指定的树的深度
privateint treeDeep ;
// 实际的数组个数
privateint arraySize ;
/**
* 默认构造函数
*/
public ArrayBinaryTree() {
// 设置默认的树深度
treeDeep = DefTreeDeep ;
// 2 的DefTreeDeep 次方 -1 个数组元素
arraySize = ( int ) Math. pow (2, DefTreeDeep ) - 1;
datas = new Object[ arraySize ];
}
/**
* 指定深度构建二叉树
* @param deep
*/
public ArrayBinaryTree( int deep) {
// 按指定深度
treeDeep = deep;
arraySize = ( int ) Math. pow (2, treeDeep ) - 1;
2
您可能关注的文档
最近下载
- 数列是特殊函数.doc VIP
- 信息技术七年级下册教案全集_图文.pdf VIP
- 服装系列创意设计.pptx VIP
- 15G310-1-2建筑工程.房屋建筑.装配式混凝土连接节点构造合集.pdf VIP
- 24J331 地沟及盖板资料.pdf VIP
- D-Z-T 0064.47-2021 地下水质分析方法 第47部分:游离二氧化碳的测定 滴定法(正式版).docx VIP
- 【高清可复制】17J925-1_压型金属板建筑构造_3.pdf
- 高级职称申请专家推荐建议模板.docx VIP
- 《城市轨道交通 车辆空气净化装置》(征求意见稿).pdf VIP
- 2026西藏自治区教育考试院招聘非编工作人员11人笔试考试备考题库及答案解析.docx VIP
原创力文档

文档评论(0)