二叉树简单模拟
来源:互联网 发布:淘宝消保标志 编辑:程序博客网 时间:2024/05/16 15:06
package com.test.utils;/** * 二叉树模拟类 */public class Tree {// 根节点private TreeNode rootNode = new TreeNode(null, null, null);/** * 添加数据 */public TreeNode add(Long data) {TreeNode node = new TreeNode(data, null, null);TreeNode currentNode = rootNode;if (null != currentNode.data) {while (true) {TreeNode parentNode = currentNode;if (data < parentNode.getData()) {currentNode = currentNode.getLeftChildNode();if (null == currentNode) {parentNode.setLeftChildNode(node);return node;}} else {currentNode = currentNode.getRightChildNode();if (null == currentNode) {parentNode.setRightChildtNode(node);return node;}}}} else {rootNode.data = data;return node;}}/** * 查找节点 */public TreeNode find(long data) {TreeNode currentNode = rootNode;while (null != currentNode && data != currentNode.getData()) {if (data < currentNode.getData()) {currentNode = currentNode.getLeftChildNode();} else {currentNode = currentNode.getRightChildNode();}}return currentNode;}/** * 前序遍历 */public void frontOrder(TreeNode node) {if (null != node) {System.out.println(node.data);frontOrder(node.getLeftChildNode());frontOrder(node.getRightChildNode());}}/** * 中序遍历 */public void inOrder(TreeNode node) {if (null != node) {inOrder(node.getLeftChildNode());System.out.println(node.data);inOrder(node.getRightChildNode());}}public TreeNode getRootNode() {return rootNode;}/** * 二叉树节点对象 */public class TreeNode {private Long data; // 数据域private TreeNode leftChildNode; // 左子节点private TreeNode righttChildNode;// 右子节点public TreeNode(Long data, TreeNode leftChildNode, TreeNode righChildtNode) {super();this.data = data;this.leftChildNode = leftChildNode;this.righttChildNode = righChildtNode;}public Long getData() {return data;}public TreeNode getLeftChildNode() {return leftChildNode;}public void setLeftChildNode(TreeNode leftChildNode) {this.leftChildNode = leftChildNode;}public TreeNode getRightChildNode() {return righttChildNode;}public void setRightChildtNode(TreeNode rightChildtNode) {this.righttChildNode = rightChildtNode;}}}
0 0
- 二叉树简单模拟
- C++动态数组简单模拟二叉堆
- UVA 712(二叉树模拟)
- UVA 122 二叉树模拟
- HDU5444 2015长春网络赛H题(dfs遍历二叉树 简单模拟)
- 基础简单的数据结构-C语言-二叉查找树数组模拟
- 简单二叉树实现
- 二叉树简单说明
- 二叉树简单操作
- 简单二叉树遍历
- 简单二叉树创建
- 简单二叉树
- 二叉树简单知识点
- 二叉树简单汇总
- 简单二叉树操作
- 简单的二叉树
- 简单实现二叉树
- 简单二叉树
- 黑马训练营--反射
- adb和bat结合
- android 学习过程中登陆失效的个人理解
- 枚举
- VLC在web系统中应用(x-vlc-plugin 即如何把VLC嵌入HTML中)
- 二叉树简单模拟
- 《解决问题1000.1》又是I2C驱动问题,产品应用上一个问题,非常简单,也比较典型,记录一下
- halcon学习笔记——机器视觉工程应用的开发思路
- 计算机 十进制 二进制 关系
- Data Guard Switchover Unix shell script
- spring resource资源
- ojX
- ZOJ1100 状压DP +深搜
- 用Scheme来写二分查找