博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二叉树遍历算法
阅读量:6340 次
发布时间:2019-06-22

本文共 1370 字,大约阅读时间需要 4 分钟。

二叉树是一种非线性的数据结构,在对它进行操作时,总是需要逐一对每个数据元素实施操作,这样就存在一个操作顺序问题,由此提出了二叉树的遍历操作。所谓遍历二叉树就是按某种顺序访问二叉树中的每个结点一次且仅一次的过程。这里的访问可以是输出、比较、更新、查看元素内容等等各种操作。

在这里写了个二叉树遍历算法、根据三种不同的顺序得到三种不同的顺序结果、

 

public class BinaryTree {		int data;	BinaryTree left = null;	BinaryTree right = null;		public BinaryTree(int data){		this.data = data;	}			public void insert(BinaryTree root,int data){//二叉树中插入子结点				if(data
左结点——>右结点) * 2 中序 (左结点——>根结点——>右结点) * 3 后序 (左结点——>右结点——>根结点) */ public static void order(BinaryTree root ,int order){ switch (order) { case 1://先序 if(root!=null){ System.out.print(root.data+" --> "); order(root.left,order); order(root.right,order); } break; case 2://中序 if(root!=null){ order(root.left,order); System.out.print(root.data+" --> "); order(root.right,order); } break; case 3://后序 if(root!=null){ order(root.left,order); order(root.right,order); System.out.print(root.data+" --> "); } break; default: break; } } public static void main(String[] args) { int[] ints = {1,22,3,44,5,66,7,88,9,11}; BinaryTree root = new BinaryTree(ints[0]); //创建二叉树 for(int i=1;i

打印结果如下:

 

 

先序遍历:1 --> 22 --> 3 --> 5 --> 7 --> 9 --> 11 --> 44 --> 66 --> 88 --> 中序遍历:1 --> 3 --> 5 --> 7 --> 9 --> 11 --> 22 --> 44 --> 66 --> 88 --> 后序遍历:11 --> 9 --> 7 --> 5 --> 3 --> 88 --> 66 --> 44 --> 22 --> 1 -->

 

 

转载地址:http://ijhoa.baihongyu.com/

你可能感兴趣的文章
Linux文件夹分析
查看>>
解决部分月份绩效无法显示的问题:timestamp\union al\autocommit等的用法
查看>>
nginx 域名跳转 Nginx跳转自动到带www域名规则配置、nginx多域名向主域名跳转
查看>>
man openstack >>1.txt
查看>>
linux几大服务器版本大比拼
查看>>
在BT5系统中安装postgresQL
查看>>
【Magedu】Week01
查看>>
写给MongoDB开发者的50条建议Tip25
查看>>
为什么要让带宽制约云计算发展
查看>>
2012-8-5
查看>>
VS中ProjectDir的值以及$(ProjectDir)../的含义
查看>>
我的友情链接
查看>>
IP_VFR-4-FRAG_TABLE_OVERFLOW【cisco设备报错】碎片***
查看>>
Codeforces Round #256 (Div. 2) D. Multiplication Table 【二分】
查看>>
ARM汇编指令格式
查看>>
HDU-2044-一只小蜜蜂
查看>>
HDU-1394-Minimum Inversion Number
查看>>
[转] createObjectURL方法 实现本地图片预览
查看>>
JavaScript—DOM编程核心.
查看>>
JavaScript碎片
查看>>