java实现二叉排序树的插入节点
来源:互联网 发布:linux vi 显示行号 编辑:程序博客网 时间:2024/04/30 00:52
1.二叉排序树的结构
class BSTNode{private Integer data=null;private BSTNode lchild=null;private BSTNode rchild=null;public BSTNode() {}public BSTNode(Integer data) {this.data = data;}public Integer getData() {return data;}public void setData(Integer data) {this.data = data;}public BSTNode getLchild() {return lchild;}public void setLchild(BSTNode lchild) {this.lchild = lchild;}public BSTNode getRchild() {return rchild;}public void setRchild(BSTNode rchild) {this.rchild = rchild;}}
2.先了解二叉排序树
java实现二叉排序树
3.二叉排序树插入节点
//插入节点public static void insertBSTNode(BSTNode root,Integer key){BSTNode insertNode =new BSTNode(key);while(root !=null){if(key<root.getData()){if(root.getLchild() !=null){root =root.getLchild();}else{root.setLchild(insertNode);return;}}else if(key>root.getData()){if(root.getRchild() !=null){root =root.getRchild();}else{root.setRchild(insertNode);return;}}else{throw new RuntimeException("插入节点值已经存在");}}}
测试类:
public static void main(String[] args) { Integer[] arr={100,30,200,20,50,10,25,40,60,55,70,35,45,33,37,34};List<BSTNode> list =new ArrayList<BSTNode>();for(int i=0;i<arr.length;i++){list.add(new BSTNode(arr[i]));}BSTNode root =list.get(0);for(int i=1;i<list.size();i++){createSortBSTNode(list.get(i),root);}//BSTNode bstNode =deleteBSTNode(root,100);System.out.println("前序遍历:");queryBSTNodeByPre(root);System.out.println();System.out.println("中序遍历:");queryBSTNodeByOrder(root);System.out.println();System.out.println("插入结果");insertBSTNode(root,23);queryBSTNodeByOrder(root); }结果:
-----------------------------------其中测试类中的一些东西涉及上一篇java实现二叉排序树,如果需要可以查看
阅读全文
0 0
- java实现二叉排序树的插入节点
- 二叉排序树创建、插入节点、查找节点的实现
- 关于java写二叉排序树的问题,实现各种节点的插入,删除,遍历
- java实现二叉排序树的删除节点
- Java实现二叉排序树的插入、查找、删除
- 二叉排序树插入删除的实现
- java实现二叉排序树的建立,查找,插入,删除
- java实现红黑树的插入节点
- 二叉排序树的java实现
- JAVA实现 二叉排序树查找,插入,删除
- 二叉排序树,完成创建节点,插入节点,删除节点,查找节点,中序遍历的功能
- 二叉排序树(二叉查找树)BST构造,节点插入,节点查找,节点删除(java)
- 二叉排序树的插入与查找实现
- 用java实现的二叉排序树
- java实现简单的二叉排序树
- 二叉排序树的查找、插入
- 二叉排序树的构造,插入,删除,完整c代码实现
- 递归和非递归的方法往二叉排序树中插入新的节点
- 连续子序列最大和
- Python_Excel_01
- Lucene的使用与重构
- legend图例
- 2017.07.14回顾 ipython魔法命令 浮点数定义 GPL 为什么要WOE编码
- java实现二叉排序树的插入节点
- 学习笔记2017.07.17-day15,am-CSS实例练习
- Java面试题全集(二)
- OpenShift3实现PaaS平台的搭建
- acpi的_PXM 表示device所在的numa id
- 命名空间的魔术常量和namespace关键字
- 简单并查基
- Spring cloud 简介
- Mybatis模糊查询之like写法