数据结构与算法(十一)二叉树结点的插入/查找
来源:互联网 发布:数据库系统教程答案 编辑:程序博客网 时间:2024/05/17 01:32
二叉树的操作
1. 插入结点
从根结点开始查找一个相应的结点,这个结点将称为新插入结点的父结点。当父结点找到后,通过判断新结点的值与父结点的值的大小来决定是连接到左子结点还是右子结点。
2. 查找结点
从根结点开始查找,如果查找的结点值比当前结点的值小,则继续查找其左子树,否则查找其右子树。
二叉树结点
/* * 二叉树结点 */public class Node {//数据项public long data;//数据项public String sData;//左子结点public Node leftChild;//右子结点public Node rightChild;/* * 构造函数 */public Node(long data,String sData){this.data=data;this.sData=sData;}}
二叉树类
/* * 二叉树类 *//* * 为什么要使用树 * * 有序数组插入数据项和删除数据项太慢 * 链表查找数据太慢 * 在树中能非常快速的查找数据项、删除数据项和插入数据项 */public class Tree {//根结点public Node root;/* * 插入结点 */public void insert(long value,String sValue){//封装结点Node newNode=new Node(value,sValue);//引用当前结点Node current=root;//引用父结点Node parent;//如果root为null,也就是第一插入的时候if(root==null){root=newNode;return;}else{while(true){//父结点指向当前结点parent=current;//如果当前指向的结点数据比插入的要大,则向左走if(current.data>value){current=current.leftChild;if(current==null){parent.leftChild=newNode;return;}}else{current=current.rightChild;if(current==null){parent.rightChild=newNode;return;}}}}}/* * 查找结点 */public Node find(long value){//引用当前结点,从跟结点开始Node current=root;//循环,只要查找值不等于当前结点的数据项while(current.data!=value){//进行比较,比较查找值和当前结点的大小if(current.data>value){current=current.leftChild;}else{current=current.rightChild;}//如果查找不到if(current==null){return null;}}return current;}/* * 删除结点 */public void delete(long value){}}
0 0
- 数据结构与算法(十一)二叉树结点的插入/查找
- [数据结构与算法]二叉树查找结点和最大最小值
- 数据结构与算法分析--二叉排序树(二叉查找树,二叉搜索树)的查找、插入和删除操作
- [数据结构与算法分析] 二叉查找树的基础概念,插入以及删除
- 数据结构与算法(十三)删除二叉树结点
- 二叉树的祖先结点,删除,插入,查找,前驱结点,后继结点等
- 二叉搜索树的插入及查找结点
- 二叉查找树初始化与插入算法
- 二叉树的建立,删除,查找,插入,输出(数据结构)
- 数据结构与算法分析-二叉查找树的实现
- 【算法与数据结构】查找二叉树的实现
- 【数据结构与算法】关于二叉查找树的思考
- 数据结构与算法(二叉查找树)
- 数据结构与算法06:二叉查找树
- 《数据结构与算法分析》--二叉查找树
- <数据结构与算法>之二叉查找树
- 数据结构与算法_二叉查找树
- 数据结构与算法分析(Java语言描述)(16)—— 二叉搜索树基础、节点插入、查找
- Linux 磁盘管理
- IOS和安卓ui设计常用尺寸及基本知识
- 二叉树的镜像
- Spring的事务到底该给Dao配置还是给Service配置?
- mysql 异常处理
- 数据结构与算法(十一)二叉树结点的插入/查找
- 算法---选择-堆排序
- Base 7
- 指针练习
- 处理关键的调试事件
- 终止alphatrader脚本
- SimpleDateFormat严格限制日期转换setLenient(false)
- 安装rpm包,卸载已经安装的rpm包
- CNN FOR LICENSE PLATE MOTION DEBLURRING--阅读笔记