您的位置:首页 > 编程语言 > Java开发

数据算法之二叉树插入(BinaryTreeL Insert)的Java实现

2017-05-08 00:00 363 查看
  本文的代码来自于《数据结构与算法(JAVA语言版)》,是笔者在网上找到的资料,非正式出刊版物。笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论。
  二叉树插入的基本思想是从根结点开始,待插入的元素如果比根节点小,则继续寻找左边的子结点;如果比根结点大则继续寻找右边的子结点。依次往复。
  如图所示:

  


输入:待插元素ele
输出:在二叉查找树中插入ele
代码:
public void insert(Object ele){
BinTreeNode p = null;
BinTreeNode current = root;
while (current!=null){ //找到待插入位置
p = current;
if (strategy.compare(ele,current.getData())<0)
current = current.getLChild();
else
current = current.getRChild();
}
startBN = p; //待平衡出发点 *
if (p==null)
root = new BinTreeNode(ele); //树为空
else if (strategy.compare(ele,p.getData())<0)
p.setLChild(new BinTreeNode(ele));
else
p.setRChild(new BinTreeNode(ele));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐