import java.util.Scanner; class Node { public String value; // 字母节点 public Node left, right;// 左右子节点 static String getChar() { Scanner sc = new Scanner(System.in); return sc.next(); } static void createTree(Node t) { String c = getChar(); if ("0".equals(c)) { t.value = "0"; } else { t.value = c; t.left = new Node(); createTree(t.left); t.right = new Node(); createTree(t.right); } } static void preOrder(Node t) { if(null != t) { System.out.print(t.value + " "); preOrder(t.left); preOrder(t.right); } } static void lastOrder(Node t) { if(null != t) { lastOrder(t.left); lastOrder(t.right); System.out.print(t.value + " "); } } public static void main(String[] args) { Node t = new Node(); createTree(t); System.out.println("t"); System.out.print("先序遍历:"); preOrder(t); System.out.println(); System.out.print("后序遍历:"); lastOrder(t); } }
使用0代表节点结束。
输入值:
123
l
0
0
right
0
0
输出结果:
t
先序遍历:123 l 0 0 right 0 0
后序遍历:0 0 l 0 0 right 123
直接使用console进行测试结果截图:
相关推荐
在Java中,标准树结构通常指的是`java.util.TreeSet`和`java.util.TreeMap`类,它们是基于红黑树算法实现的,提供了一种高效且有序的数据存储方式。 ### 一、红黑树介绍 红黑树(Red-Black Tree)是一种自平衡二叉...
本篇将详细讲解如何使用Java实现一个简单的树结构,包括树节点类`treeNode`、树类`tree`以及相关的操作方法。 首先,我们来看`treeNode`类的实现。`treeNode`代表树中的一个节点,它可以存储任意类型的数据,这里用...
在Java编程中,多叉树是一种非线性数据结构,每个节点可以有多个子节点,与二叉树(每个节点最多有两个子节点)相比,它提供了更广泛的灵活性。本篇文章将深入探讨如何在Java中实现多叉树以及其遍历方法。 首先,...
本主题聚焦于如何在Java后端组装zTree所需的树结构,并与MySQL数据库进行交互。以下是关于这个主题的详细知识点: 1. **zTree**: - zTree是基于jQuery的轻量级插件,用于生成具有多种功能的树形结构,如多选、...
JTree还支持拖放操作,通过实现DragSource和DropTarget接口,可以启用节点之间的拖放功能,使得用户可以方便地重新排列树结构。 8. **JavaFX的TreeView** 对于JavaFX,对应的树形控件是TreeView,它同样使用...
- 递归算法:在Java中,通常使用递归方法来构建树结构。从根节点开始,遍历所有子节点,每个节点又可能有子节点,如此递归下去直到所有节点都被遍历。 - TreeNode类:定义一个TreeNode类,包含部门ID、名称、父...
在本篇文章中,我们将探讨如何使用Bootstrap构建一个简单的树结构,并结合Java和JavaScript技术来增强其功能。 首先,我们需要了解Bootstrap的核心组件,如栅格系统、排版、表单、按钮、导航等。这些组件提供了基础...
接下来,我们将基于Java语言来实现一个简单的树结构。以下是一段关键的代码示例: ```java package dateStructer.tree; import java.util.ArrayList; import java.util.List; public class TreeParent<E> { // ...
Java作为一门面向对象的语言,提供了多种实现树形结构的方法。这里我们主要讨论基于JavaScript、CSS和JSP实现的树形结构,这通常用于创建交互式的、可折叠的导航菜单或展示层次化的数据。 首先,让我们来理解树形...
treeTable是跨浏览器、性能很高的jquery的树表组件,它使用非常简单,只需要引用jquery库和一个js文件,接口也很简单。 优点 兼容主流浏览器: 支持IE6和IE6+, Firefox, chrome, Opera, Safari 接口简洁: 在普通...
本示例是一个基于Java实现的JSP动态树形菜单功能,旨在提供一个简单而全面的解决方案,覆盖了从数据获取到页面渲染的全过程。 首先,我们要理解树形菜单的基本概念。树形菜单是由节点(通常代表菜单项)构成的层级...
这个压缩包中的代码示例可能包含了这些数据结构的实现,例如,链表可能包含`Node`类和相关的操作方法,有序二叉树可能有`BinarySearchTree`类,队列则可能是对`Queue`接口的简单实现。通过学习和理解这些代码,...
根据题目提供的代码片段,我们可以看到这是一个简单的Java程序,用于遍历指定路径下的所有文件及子目录,并按照层级关系以树形结构打印出来。 ```java package com.test; import java.io.File; public class Root...
11. **测试框架**:该代码实现使用了JUnit 4进行单元测试,JUnit是Java中广泛使用的测试框架,它使得编写和运行测试变得简单,确保代码的正确性。 这个压缩包对于初学者和有一定经验的Java开发者来说都是宝贵的资源...
红黑树(Red-Black Tree)是...在Java编程中,能够实现红黑树意味着具备了高级数据结构的处理能力,这对于解决复杂问题和优化程序性能非常有利。通过实际编码实现红黑树,可以加深对其工作原理的理解,并提高编程技能。
这个压缩包“treemenu”很可能包含了一个简单的WinFrom应用程序,其中实现了树形菜单的功能。让我们深入探讨一下Java实现树形菜单的相关知识点。 1. **Swing组件与JTree**: 在Java Swing库中,`JTree`是用于创建树...
记父节点实现是一种常见的树结构实现方法。在这种实现方式中,每个节点不仅包含自己的数据,还保存了指向其父节点的信息。这种方法的优势在于能够方便地追踪到每个节点的父节点,并且便于实现树的各种操作。下面是一...
4. **树模型的扩展**:如果需要更复杂的树结构,可以扩展`DefaultTreeModel`。例如,自定义节点类以存储额外的数据或实现自定义的节点插入、删除和更新逻辑。 5. **动态更新**:在运行时动态添加、删除或修改节点,...
测试文件`Test`可能包含了测试代码,用于验证树形菜单的正确性,例如创建不同的树结构,检查节点的添加、删除、展开和折叠等功能是否正常工作。 理解并实现这样的源码可以帮助开发者深入掌握Java Swing中的树形数据...