顺序二叉树---实现数组的二叉树前序遍历输出
特点:
1.顺序二叉树只考虑完全二叉树
2.第n个元素的左子节点为2*n+1
3.第n个元素的右子节点为2*n+2
4.第n个元素的父节点为(n-1)/2
代码:
/** 给你一个数组,要求以二叉树前序遍历的方式进行遍历* */
public class ArrayBinaryTreeDemo {public static void main(String[] args) {int[] arr = {1, 2, 3, 4 , 5, 6, 7};ArrBinaryTree arrBinaryTree = new ArrBinaryTree(arr);arrBinaryTree.preOrder(0);}
}//顺序二叉树
class ArrBinaryTree{private int[] arr; //存储数据节点的数组public ArrBinaryTree(int[] arr){this.arr = arr;}//重载public void preOrder(){this.preOrder(0);}//完成前序遍历/* index 为数组下标* */public void preOrder(int index){//如果数组为空,或者arr.length = 0;if(arr == null || arr.length == 0){System.out.println("数组为空,不能按照二叉树前序遍历");}//输出当前这个元素System.out.println(arr[index]);//向左递归遍历if((index * 2 + 1) < arr.length){preOrder(2 * index + 1);}if((index * 2 + 2) < arr.length){preOrder(2 * index + 2);}}
}
顺序二叉树---实现数组的二叉树前序遍历输出相关推荐
- 数据结构 | 第十一章:二叉树和其他树 | 【前序遍历】【中序遍历】【后序遍历】【层次遍历】 | 并查集
第5-10章:线性结构,元素之间存在线性次序(线性表.数组与矩阵.栈.队列.跳表和散列表 第11-15章:层次结构(二叉树和树.优先队列.竞赛树.搜索树) 文章目录 11.1 树 11.2 二叉树 1 ...
- 二叉树学习笔记之利用前序遍历递归创建二叉树
利用前序遍历创建二叉树 树的遍历 前序遍历(preorder traversal) 利用前序遍历创建二叉树 中序遍历访问所有结点 前序遍历访问所有结点 后序遍历访问所有结点 实例 树的遍历 树的遍历是 ...
- 二叉树(14)----由前序遍历和中序遍历重建二叉树,递归方式
相关链接: 链表总结----链表面试题合集 二叉树----二叉树面试题合集 1.二叉树定义 typedef struct BTreeNodeElement_t_ {void *data; } BTre ...
- 图解二叉树非递归版的前序遍历算法
" 图解用栈数据结构对树的前序遍历,中序遍历,后续遍历." 树的遍历 所谓遍历 (Traversal) 是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问.访问结点所做 ...
- 二叉树数组存储:前序遍历、打印二叉树
// Study_Program.cpp : Defines the entry point for the console application. //#include "stdafx. ...
- c语言 用一维数组存储二叉树,用一维数组存储二叉树时,总是以前序遍历顺序存储结点。( ? )...
用前模式包括献不治疗的积人本哪项以下极贡. 维数包括学校工作的过程和方面以下技术几个社区. 组存总题大括:致包青少区问年社.可能在含工气体含有有或井施,备合格的个人和相防护应配用具应(.部件理液更换切 ...
- 根据中序、前序遍历重建二叉树
文章目录 题目 递归 思路 细节 易错 代码 复杂度分析 迭代 思路 细节 易错 代码 复杂度分析 题目 输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树.假设输入的前序遍历和中序遍历的结果中都 ...
- 2018.7.28 二叉树的遍历规则(前序遍历、后序遍历、中序遍历)
树的遍历顺序大体分为三种:前序遍历(先根遍历.先序遍历),中序遍历(中根遍历),后序遍历(后根遍历). 前序遍历:前序遍历可以记为根左右,若二叉树为空,则结束返回. 前序遍历的规则:(1)访问根节点( ...
- 建立二叉树:已知层次遍历顺序建立二叉树、已知先序遍历顺序建立二叉树
其他二叉树知识!二叉树知识汇总 目录 前提知识: 约定: 二叉树节点的存储结构: 创建一个节点: 建立二叉树的几种方法: 一.已知先序遍历顺序,构建二叉树.(链式存储) 二.已知层次遍历顺序,构建二叉 ...
最新文章
- UVa 729 The Hamming Distance Problem【枚举排列】
- RocketMQ源码分析之RocketMQ事务消息实现原下篇(事务提交或回滚)
- Jupyter Notebook 快捷键 和 Markdown知识点总结
- 蚂蚁王益:Go+ 可有效补全 Python 的不足
- CentOS 7.X 升级 Python 3.8.X
- MYSQL存储引擎笔记
- sklearn数据集与估计器
- 桂林理工计算机与科学技术,桂林理工大学信息科学与工程学院
- 【ElasticSearch】Es 源码之 RestController 源码解读
- 广告传媒实际税负怎么计算_建材销售类营业额3亿,缺进项致税负高?成立4家独资企业节税90%...
- 关键2招提升软件开发项目的利润
- linux瘦身软件下载,瘦身相机APP全新安卓版下载-瘦身相机APPV1.3.0-Linux公社
- 第九章:第九章:XML文档集成---Axd向导
- 配置Android应用开发环境
- 【MCM-2017】2017年数学建模美赛题目原文及翻译-C (个人思路)
- SQLite数据库读取
- vs2012程序打包部署下载InstallShield2015LimitedEdition的下载及安装打包整套教程
- 1071: 不容易系列
- 华为服务器基本功能介绍 及服务器BMC提供的基本功能
- 关于严格模式的简单介绍