Java基础复习笔记08数据结构-二叉树和二叉树的遍历.pdfVIP

  • 1
  • 0
  • 约2.75万字
  • 约 19页
  • 2021-01-16 发布于湖南
  • 举报

Java基础复习笔记08数据结构-二叉树和二叉树的遍历.pdf

文档来源为 :从网络收集整理 .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

文档评论(0)

1亿VIP精品文档

相关文档