`

java实现二叉树

阅读更多

一.树

 

二.代码,两个class

public class Node {
	/** 名称 */
	private String name;

	/** 左节点 */
	private Node left;

	/** 右节点 */
	private Node right;
 
//get.set略
	public Node(String n, Node l, Node r) {
		name = n;
		left = l;
		right = r;
	}
}

 

public class Admin {
	public static void main(String[] args) {
		test();
	}

	private static void test() {
		// 先序
		xian(init());
		System.out.println();
		// 中序
		zhong(init());
		System.out.println();
		// 后序
		hou(init());
	}

	/** 初始化 */
	private static Node init() {
		Node nodeG = new Node("G", null, null);
		Node nodeF = new Node("F", null, null);
		Node nodeE = new Node("E", null, null);
		Node nodeD = new Node("D", null, nodeG);
		Node nodeC = new Node("C", nodeF, null);
		Node nodeB = new Node("B", nodeD, nodeE);
		Node nodeA = new Node("A", nodeB, nodeC);
		return nodeA;
	}

	private static void print(Node node) {
		System.out.print(node.getName() + "==>");
	}

	/** 先序 中->左->右 */
	public static void xian(Node node) {
		if (node != null) {
			print(node);
			xian(node.getLeft());
			xian(node.getRight());
		}
	}

	/** 中序 左->中->右 */
	public static void zhong(Node node) {
		if (node != null) {
			zhong(node.getLeft());
			print(node);
			zhong(node.getRight());
		}
	}

	/** 后序 左->右->中 */
	public static void hou(Node node) {
		if (node != null) {
			hou(node.getLeft());
			hou(node.getRight());
			print(node);
		}
	}
}

 

三.结果

    A==>B==>D==>G==>E==>C==>F==>
    D==>G==>B==>E==>A==>F==>C==>
    G==>D==>E==>B==>F==>C==>A==>

 

四.感谢网友提供大量学习资料

  • 大小: 7.7 KB
分享到:
评论

相关推荐

    Java实现二叉树的基本操作

    以上就是Java实现二叉树的基本操作的详细讲解,这些操作对于理解和应用数据结构在实际问题中非常重要。在Java中,二叉树的实现可以帮助我们解决许多算法问题,例如搜索、排序、路径查找等。通过熟练掌握这些操作,...

    java实现二叉树最佳方法

    总之,Java实现二叉树的最佳方法依赖于对二叉树性质的深入理解以及对Java语言特性的熟练应用。递归构建和遍历是实现二叉树的两个核心方面,它们共同构建了复杂二叉树算法的基石。在实际应用中,还需要考虑树结构的...

    Java实现二叉树的遍历

    java实现二叉树非递归前序中序后序遍历

    java实现二叉树数据结构

    java实现二叉树数据结构,简单明了,免费下载

    java实现二叉树遍历demo

    本示例"java实现二叉树遍历demo"将通过一个简单的实例来演示这三种遍历方式。 1. **前序遍历**: 前序遍历的顺序是:根节点 -> 左子树 -> 右子树。在代码实现中,通常采用递归的方法。首先访问根节点,然后递归地...

    Java实现二叉树,Java实现队列.pdf

    【Java实现二叉树】 在Java中,二叉树是一种数据结构,由多个节点组成,每个节点最多有两个子节点,通常分为左子节点和右子节点。二叉树的节点通常包含一个值以及指向其左子节点和右子节点的引用。在提供的代码中,...

    Java实现二叉树的相关操作

    以上就是Java实现二叉树的基本操作,包括创建、插入、删除和搜索节点,以及遍历二叉树的方法。这些操作为处理各种算法问题提供了基础,如二叉搜索树、平衡二叉树、堆等。掌握二叉树的原理和实现对于提升编程能力至关...

    Java实现二叉树中序线索化(图形界面 含代码)

    Java实现二叉树中序线索化 左键画节点 右键画跟 点可以拖动 两个节点可以连线 确认进行线索化 并画出线索

    java实现二叉树遍历算法(源代码)

    ### Java实现二叉树遍历算法详解 #### 一、引言 在计算机科学中,二叉树是一种常用的数据结构,广泛应用于各种算法和数据处理场景。为了更好地理解和操作二叉树,掌握其遍历算法至关重要。本文将详细介绍如何使用...

    Java实现二叉树的先序、中序、后续、层次遍历

    在讲解Java实现二叉树的先序、中序、后序、层次遍历时,我们需要先了解几个关键知识点。 首先,二叉树是一种非常基础且重要的数据结构,每个节点最多有两棵子树,通常称这两棵子树为“左子树”和“右子树”。二叉树...

    java实现二叉树的遍历

    ### Java 实现二叉树的遍历 #### 一、数据结构分类 在计算机科学领域,数据结构可以按照逻辑结构和存储结构进行分类。 - **逻辑结构**: - **集合**:没有逻辑上的关系,如集合中的元素彼此独立。 - **线性结构*...

    用java实现二叉树的创建和遍历.doc

    本篇将详细阐述如何使用Java实现二叉树的创建和遍历。 首先,我们需要创建一个二叉树节点类`FOBiTree.java`,它包含以下属性和方法: 1. `char data`: 存储节点的值,例如字符。 2. `FOBiTree lNode`: 指向左子树...

    java实现二叉树程序

    java用队列实现的二叉树程序//入队 public void enqueue(E e); //出队 public E dequeue(); //取队列第一个 public E front(); //队列是否为空 public boolean isEmpty(); //队列大小 public int size...

    JAVA实现二叉树建立、遍历

    Java作为一种强大的面向对象编程语言,提供了丰富的数据结构支持,包括二叉树的实现。 首先,我们来看如何通过先序和中序序列建立二叉树。先序遍历顺序是:根节点 -> 左子树 -> 右子树;中序遍历顺序是:左子树 -> ...

    Java实现二叉树的层次遍历

    本篇文章将详细探讨如何实现二叉树的层次遍历,即按照从根节点到叶子节点的层次顺序访问所有节点。 首先,我们需要定义二叉树节点的数据结构。在`BinaryTree.java`文件中,我们可以创建一个名为`Node`的类来表示树...

    java 二叉树实现

    java二叉树实现 (简单实现,入门用) /**创建二叉树*/ public BinaryTree createTree(String treeStr); /**寻找结点*/ public BinaryTree findNode(BinaryTree tree ,char sign); /**找所给结点的左子树*/ ...

    用Java实现二叉树的深度优先、广度优先遍历

    本篇文章将深入探讨如何使用Java来实现二叉树的深度优先遍历(DFS, Depth First Search)和广度优先遍历(BFS, Breadth First Search)。 **深度优先遍历** 是一种在图或树中搜索的方法,它尽可能深地探索树的分支...

Global site tag (gtag.js) - Google Analytics