特点:


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);}}
}

顺序二叉树---实现数组的二叉树前序遍历输出相关推荐

  1. 数据结构 | 第十一章:二叉树和其他树 | 【前序遍历】【中序遍历】【后序遍历】【层次遍历】 | 并查集

    第5-10章:线性结构,元素之间存在线性次序(线性表.数组与矩阵.栈.队列.跳表和散列表 第11-15章:层次结构(二叉树和树.优先队列.竞赛树.搜索树) 文章目录 11.1 树 11.2 二叉树 1 ...

  2. 二叉树学习笔记之利用前序遍历递归创建二叉树

    利用前序遍历创建二叉树 树的遍历 前序遍历(preorder traversal) 利用前序遍历创建二叉树 中序遍历访问所有结点 前序遍历访问所有结点 后序遍历访问所有结点 实例 树的遍历 树的遍历是 ...

  3. 二叉树(14)----由前序遍历和中序遍历重建二叉树,递归方式

    相关链接: 链表总结----链表面试题合集 二叉树----二叉树面试题合集 1.二叉树定义 typedef struct BTreeNodeElement_t_ {void *data; } BTre ...

  4. 图解二叉树非递归版的前序遍历算法

    " 图解用栈数据结构对树的前序遍历,中序遍历,后续遍历." 树的遍历 所谓遍历 (Traversal) 是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问.访问结点所做 ...

  5. 二叉树数组存储:前序遍历、打印二叉树

    // Study_Program.cpp : Defines the entry point for the console application. //#include "stdafx. ...

  6. c语言 用一维数组存储二叉树,用一维数组存储二叉树时,总是以前序遍历顺序存储结点。( ? )...

    用前模式包括献不治疗的积人本哪项以下极贡. 维数包括学校工作的过程和方面以下技术几个社区. 组存总题大括:致包青少区问年社.可能在含工气体含有有或井施,备合格的个人和相防护应配用具应(.部件理液更换切 ...

  7. 根据中序、前序遍历重建二叉树

    文章目录 题目 递归 思路 细节 易错 代码 复杂度分析 迭代 思路 细节 易错 代码 复杂度分析 题目 输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树.假设输入的前序遍历和中序遍历的结果中都 ...

  8. 2018.7.28 二叉树的遍历规则(前序遍历、后序遍历、中序遍历)

    树的遍历顺序大体分为三种:前序遍历(先根遍历.先序遍历),中序遍历(中根遍历),后序遍历(后根遍历). 前序遍历:前序遍历可以记为根左右,若二叉树为空,则结束返回. 前序遍历的规则:(1)访问根节点( ...

  9. 建立二叉树:已知层次遍历顺序建立二叉树、已知先序遍历顺序建立二叉树

    其他二叉树知识!二叉树知识汇总 目录 前提知识: 约定: 二叉树节点的存储结构: 创建一个节点: 建立二叉树的几种方法: 一.已知先序遍历顺序,构建二叉树.(链式存储) 二.已知层次遍历顺序,构建二叉 ...

最新文章

  1. UVa 729 The Hamming Distance Problem【枚举排列】
  2. RocketMQ源码分析之RocketMQ事务消息实现原下篇(事务提交或回滚)
  3. Jupyter Notebook 快捷键 和 Markdown知识点总结
  4. 蚂蚁王益:Go+ 可有效补全 Python 的不足
  5. CentOS 7.X 升级 Python 3.8.X
  6. MYSQL存储引擎笔记
  7. sklearn数据集与估计器
  8. 桂林理工计算机与科学技术,桂林理工大学信息科学与工程学院
  9. 【ElasticSearch】Es 源码之 RestController 源码解读
  10. 广告传媒实际税负怎么计算_建材销售类营业额3亿,缺进项致税负高?成立4家独资企业节税90%...
  11. 关键2招提升软件开发项目的利润
  12. linux瘦身软件下载,瘦身相机APP全新安卓版下载-瘦身相机APPV1.3.0-Linux公社
  13. 第九章:第九章:XML文档集成---Axd向导
  14. 配置Android应用开发环境
  15. 【MCM-2017】2017年数学建模美赛题目原文及翻译-C (个人思路)
  16. SQLite数据库读取
  17. vs2012程序打包部署下载InstallShield2015LimitedEdition的下载及安装打包整套教程
  18. 1071: 不容易系列
  19. 华为服务器基本功能介绍 及服务器BMC提供的基本功能
  20. 关于严格模式的简单介绍

热门文章

  1. Listbox+time picker
  2. 眼镜识别,看是否戴眼镜_夜间隐形眼镜,适合那些不戴眼镜但又害怕这种矫正的人
  3. Android开机画面的具体修改方法
  4. IDEA类模板设置、快捷方式添加注释
  5. 路径规划 | 图搜索算法:JPS
  6. 对于两个正整数m,n的最大公因数可以用do—while实现
  7. Electron是什么?
  8. 访问者用语音命令控制你的网站。
  9. 腾讯优测优社区干货精选|手Q红包后台设计
  10. 数据库mongoDB的使用(前后端不分离项目·中)