Java工程师必知词汇:二叉树

简介: 二叉树(Binary tree)是每个节点最多只有两个分支(即不存在分支度大于2的节点)的树结构。通常分支被称作“左子树”或“右子树”。二叉树的分支具有左右次序,不能随意颠倒。

|名词定义|

二叉树(Binary tree)是每个节点最多只有两个分支(即不存在分支度大于2的节点)的树结构。通常分支被称作“左子树”或“右子树”。二叉树的分支具有左右次序,不能随意颠倒。
二叉树而言,在进行数据获取的时候也有三种形式:前序遍历(根-左-右)、中序遍历(左-根-右)、后序遍历(左-右-根)。

|二叉树的基础实现|

数据添加:
1581587935873_3D0F2803-0F2E-4E13-91CA-77C20DB8C1FF.png

数据删除:
root:根节点、isRoot:待删除节点是否为根节点
removeNode:待删除节点、removeParentNode:待删除节点父节点
parent:父节点、left:左子节点、right:右子节点
isLeftNode:待删除节点是否为父节点的左子节点,true为左子节点,false为右子节点
1、如果待删除节点没有子节点:
1581587016846_A8E1DB19-D2FF-4872-A198-E61E89B2201E.png

2、如果待删除节点只有一个左子节点:
1581587074885_611D5212-0223-4766-8D66-1105329102DC.png

3、如果待删除节点只有一个右子节点:
1581587113899_71C8C35B-8F6F-4CFC-9BB0-3F983C108B28.png

4、如果待删除节点有两个子节点:
1581587151457_9A2C81EB-2AAB-406F-9175-41684EA954BA.png

|参考资料|

[1] 阿里云大学Java视频课程
[2] Java开发者
[3] 维基百科

相关文章
|
1月前
|
算法 Java
算法:Java计算二叉树从根节点到叶子结点的最大路径和
算法:Java计算二叉树从根节点到叶子结点的最大路径和
|
1月前
|
Java
Java二叉树超详解(常用方法介绍)(2)
Java二叉树超详解(常用方法介绍)(2)
|
1月前
|
存储 Java
JAVA 二叉树超详解(1)
JAVA 二叉树超详解(1)
|
3月前
|
监控 网络协议 Java
《Java工程师成神之路》阿里技术专家之作,囊括Java所有知识点!
很多Java程序员一直希望找到一份完整的学习路径,但是市面上很多书都是专注某一个领域的,没有一份完整的大图,以至于很多程序员很迷茫,不知道自己到底应该从哪里开始学,或者不知道自己学习些什么。
|
2月前
|
Java
电子书阅读分享《Java工程师成神之路》
电子书阅读分享《Java工程师成神之路》
52 1
|
1月前
|
消息中间件 Dubbo Java
互联网 Java 工程师1000道面试题(485页)
互联网 Java 工程师1000道面试题(485页)
28 0
|
1月前
|
人工智能 监控 Java
招个Java工程师,却发现了一个宝藏平台
招个Java工程师,却发现了一个宝藏平台
21 0
招个Java工程师,却发现了一个宝藏平台
|
2月前
|
Java
电子书阅读分享《Java工程师成神之路》
电子书阅读分享《Java工程师成神之路》
69 2
|
3月前
|
Java Go C++
Golang每日一练(leetDay0085) 2的幂、数字 1 的个数
Golang每日一练(leetDay0085) 2的幂、数字 1 的个数
24 0
Golang每日一练(leetDay0085) 2的幂、数字 1 的个数
|
3月前
|
Java C++ Python
Rust每日一练(Leetday0013) 解数独、外观数列、组合总和
Rust每日一练(Leetday0013) 解数独、外观数列、组合总和
34 0
Rust每日一练(Leetday0013) 解数独、外观数列、组合总和