二叉树的先序,中序,后序遍历序列

article/2025/9/17 17:25:57

二叉树有三种遍历:

1. 先序遍历: (根左右)

2.中序遍历 : (左根右)

3.后序遍历: (左右根)

举个例子:(以下动画图转载自https://blog.csdn.net/chinesekobe/article/details/110874773):
 

 

先(根)序遍历(根左右):A B D H I E J C F K G

在这里插入图片描述

 

中(根)序遍历(左根右) : H D I B E J A F K C G 

在这里插入图片描述

 

后(根)序遍历(左右根) : H I D J E B K F G C A

在这里插入图片描述

 

用面向对象方法写二叉树:

node节点类

package array3;public class node {public int data;public node leftNode;public node rightNode;//添加节点public void addNode(node t) {
// 添加节点的时候 去比较节点中data 如果t的data小于 this.data  //  添加左边节点  如果大于 添加右边节点if(t.data <this.data) {//    如果左边节点为null  t就是左节点,不为null 就在左节点基础之上//  再次添加if(leftNode == null) {leftNode = t;}else {leftNode.addNode(t);}}else {if(t.data > this.data) {if(rightNode == null) {rightNode = t;}else {rightNode.addNode(t);}}}}//中序排序public void zhongxu() {if(leftNode!=null) {leftNode.zhongxu();}	System.out.println(data);if(rightNode!=null) {rightNode.zhongxu();}}
}

 mytree类

package array3;public class mytree {private node root;public void add(int x) {node p = new node();p.data = x;if(root ==null) {root = p;}else {root.addNode(p);}}public void sort() {if(root==null) {return;}else {root.zhongxu();}}
}

测试类test:

package array3;public class test {public static void main(String[] args) {mytree my = new mytree();my.add(0);my.add(2);my.add(4);my.add(3);my.add(6);my.add(7);my.add(1);my.sort();
}
}

结果为:

0
1
2
3
4
6
7


http://chatgpt.dhexx.cn/article/AcrD00iJ.shtml

相关文章

如何判断二叉树的前序,中序,后序遍历

文章目录 前言一、如何判断二叉树的前序&#xff0c;中序&#xff0c;后序遍历&#xff1f;二、已知二叉树的前序遍历和中序遍历&#xff0c;如何得到它的后序遍历&#xff1f;三、程序实现总结 前言 最近复习题中看到二叉树&#xff0c;对于它的前序&#xff0c;中序&#xf…

关于二叉树的前序、中序、后序三种遍历

二叉树遍历分为三种&#xff1a;前序、中序、后序&#xff0c;其中序遍历最为重要。为啥叫这个名字&#xff1f;是根据根节点的顺序命名的。 比如上图正常的一个满节点&#xff0c;A&#xff1a;根节点、B&#xff1a;左节点、C&#xff1a;右节点&#xff0c;前序顺序是ABC&a…

二叉树顺序存储之 前序,中序 ,后序遍历

二叉树遍历的概念&#xff1a; 二叉树的遍历是指从根结点出发&#xff0c;按照某种次序依次访问二叉树中的所有结点&#xff0c;使得每个结点被访问一次且仅被访问一次。 1、前序遍历 先输出当前结点的数据&#xff0c;再依次遍历输出左结点和右结点 如下图二叉树分析&#…

二叉树的前序、中序和后序遍历

目录 文章目录 目录前言一、二叉树遍历是什么&#xff1f;二、二叉树遍历的种类 1.前序遍历2.中序遍历3.后序遍历总结 前言 例如&#xff1a;跟着其他的大神学习了二叉树的遍历&#xff0c;下面简单介绍一下二叉树遍历的知识。 &#xff08;我是一个纯小白&#xff09; 一、二…

二叉树的前序,中序,后序遍历

前序遍历&#xff1a;根节点->左子树->右子树&#xff08;根->左->右&#xff09; 中序遍历&#xff1a;左子树->根节点->右子树&#xff08;左->根->右&#xff09; 后序遍历&#xff1a;左子树->右子树->根节点&#xff08;左->右->根&a…

二叉树的前序、中序、后序遍历

文章目录 前言一、用递归法实现遍历1.1 前序遍历1.2 中序遍历1.3 后序遍历 二、用迭代法实现遍历2.1 前序遍历2.2 中序遍历2.3 后序遍历2.3.1 后序解法一2.3.2 后序解法二 三、测试验证 前言 本文主要记录二叉树的遍历方法&#xff0c;文章的主要知识点来源为&#xff1a; htt…

二叉树中已知前序和中序求其后序(图解加技巧让你轻松掌握)

一 首先咱得了解二叉树的结构&#xff0c;和前序/中序/后序遍历分别是什么。 1&#xff1a;什么是根和左右孩子&#xff1a;二叉树的每个节点都可以作为根&#xff0c;每个根下面的叫左右孩子&#xff0c;也可以没有孩子 ​ 实际使用中会如下图A是根左孩子是B,右孩子是C&a…

二叉树的前序、中序、后序

一、概念 二叉树遍历分为三种&#xff1a;前序、中序、后序&#xff0c;其中序遍历最为重要。 二、特点 A&#xff1a;根节点、B&#xff1a;左节点、C&#xff1a;右节点; 前序顺序是ABC&#xff08;根节点排最先&#xff0c;然后同级先左后右&#xff09;&#xff1b;中序…

数据结构:二叉树(先、中、后序)

一、实现功能描述&#xff1a; 1、使用先序序列来创建二叉树&#xff0c;并使用递归算法实现先序、中序、后序输出。 2、使用先序序列来创建二叉树&#xff0c;并使用非递归算法实现先序、中序、后序输出。 3、使用中序、后序的序列来创建二叉树&#xff0c;并使用先序输出。 …

二叉树的先序、中序、后序遍历超详解

以上图为基础 ①前序遍历的方式是&#xff1a;首先访问根节点&#xff0c;然后访问左子树&#xff0c;最后访问右子树。 前序遍历序列&#xff1a;F C A D B E H G M ②中序遍历的方式是&#xff1a;首先访问左子树&#xff0c;接着访问根结点&#xff0c;最后访问右子树。 中序…

二叉树的先序、中序、后序以及层次遍历

二叉树的先序、中序、后序以及层次遍历 方法&#xff1a;在遍历二叉树的时候&#xff0c;一个节点的遍历我们把它看做要经过它三次(下图红色区域)。 当经过一次&#xff0c;被写出来的点&#xff0c;我们称它为先序遍历。 当经过两次&#xff0c;被写出来的点&#xff0c;我…

二叉树的遍历(先序、中序、后序和层次法)

一、二叉树的遍历 ●遍历是指按指定的规律从根结点开始&#xff0c;对二叉树中的每个结点遍历一次且仅遍历一次。 ●遍历可以采用递归方法&#xff08;程序简单&#xff09;和非递归方法&#xff08;程序稍复杂&#xff09;。从中可以寻出“足迹”。 例如下列一颗简单的二叉树…

原生ajax的实现步骤

原生ajax的实现步骤 创建ajax对象 var xhr new XMLHttpRequest(); 告诉ajax请求地址以及请求方式&#xff08;ajax下的open方法&#xff09; xhr.open(‘get’,’http://www.example.com’); 第一个参数为请求方式&#xff0c;第二个参数为请求地址/服务器端对应的路由请求地…

2、原生AJAX

目录 1、GET请求 (1)ajax (2)js路由 2、POST请求 &#xff08;1&#xff09;ajax &#xff08;2&#xff09;js路由 3、服务端响应JOSN数据 &#xff08;1&#xff09;ajax &#xff08;2&#xff09;js路由 4、IE缓存问题 &#xff08;1&#xff09;ajax &#xf…

AJAX ------ 原生 AJAX

原生 AJAX GET 请求 一. 实例要求&#xff1a;点击按钮&#xff0c;发送GET请求&#xff0c;在 div 中做呈现 HELLO AJAX 创建 server.js 文件 //1.引入expressconst express require(express);//2.创建应用对象const app express();//3.创建路由规则//requset是对请求报…

关于原生的Ajax详解

一、Ajax对于前端开发的意义 我们常称Ajax是前端开发者的梦想&#xff0c;为什么这么说呢&#xff1f;Ajax的出现揭开了无刷更新页面数据的时代&#xff0c;JavaScript的实用性也得到了巨大的提升&#xff0c;网页可以在不重载的情况下&#xff0c;实现异步更新&#xff0c;而在…

猿创征文 | 如何使用原生AJAX请求数据

目录 一、什么是AJAX 二、AJAX请求数据的步骤 第一步&#xff1a;创建XMLHttpRequest的实例对象 第二步&#xff1a;打开一个连接 open() 第三步&#xff1a;设置请求头 setRequestHeader() 第四步&#xff1a;发送请求 send() 第五步&#xff1a;接收响应 三、常用请求…

原生ajax和Jquery的ajax

目录 原生ajax 传统请求&#xff08;同步方式&#xff09;的问题 Ajax优势和作用 Ajax请求与传统请求的区别&#xff1a; ajax原理&#xff08;方法&#xff0c;属性 &#xff09; XMLHttpRequest open send 属性 readyState tatus responseText 事件 ajax实现步骤…

原生Ajax 超详细

目录 今天来聊一聊前后端交互的重要工具AJAX 为什么要学习Ajax jQuery 中发起 Ajax 请求最常用的三个方法如下&#xff1a; $.get() $.post() $.ajax() 接口的概念 什么是接口文档 接口文档包括 案例 - 图书管理 完整代码如下&#xff1a; 今天来聊一聊前后端交互的重要…

03 原生Ajax写法

目录 一、原生Ajax写法 1.原生Ajax-GET写法 2.原生Ajax-POST写法 二、GET/POST的区别 下图为本文的核心 一、原生Ajax写法 1.原生Ajax-GET写法 1.创建xhr对象 const xhr new XMLHttpRequest() 2.设置url地址与请求方式 xhr.open(GET, http://ajax-api.itheima.net/api/a…