|名词定义|
二叉树(Binary tree)是每个节点最多只有两个分支(即不存在分支度大于2的节点)的树结构。通常分支被称作“左子树”或“右子树”。二叉树的分支具有左右次序,不能随意颠倒。
二叉树而言,在进行数据获取的时候也有三种形式:前序遍历(根-左-右)、中序遍历(左-根-右)、后序遍历(左-右-根)。
|二叉树的基础实现|
数据添加:
数据删除:
root:根节点、isRoot:待删除节点是否为根节点
removeNode:待删除节点、removeParentNode:待删除节点父节点
parent:父节点、left:左子节点、right:右子节点
isLeftNode:待删除节点是否为父节点的左子节点,true为左子节点,false为右子节点
1、如果待删除节点没有子节点:
2、如果待删除节点只有一个左子节点:
3、如果待删除节点只有一个右子节点:
4、如果待删除节点有两个子节点:
|参考资料|
[1] 阿里云大学Java视频课程
[2] Java开发者
[3] *