什么是二叉树?

简介: 简单理解二叉树。

我们以BFS顺序表示二叉树。

例如:

image.png
BFS 顺序或上面的二叉树为[1,2,3],因此该树将被序列化为{1,2,3}

对于:

image.png

两棵树的 BFS 顺序相同都为:[1,2]。为了区分它们,我们使用{1,2,#}代表第一个,{1,#,2}代表第二个。 #代表空节点。对于{1,2,#},我们可以通过忽略{1,2}尾部的空节点来使其更短。

让我们来看一个更大的二叉树:

image.png

它将被序列化为{1,2,3,4,5,#,6,#,#,7,8}

1:根
2:1的左子树
3:1的右子树
4:2的左子树
5:2的右子树
#:3的左子树
6:3的右子树
#:4的左子树
#:4的右子树
7:5的左子树
8:5的右子树
因为6、7、8位于bfs顺序的末尾,它们的左子树和右子树都为空,所以可以忽略。

相关文章
|
5月前
|
算法 前端开发
2583. 二叉树中的第 K 大层和
2583. 二叉树中的第 K 大层和
48 0
|
12月前
|
机器学习/深度学习 存储 算法
深入理解【二叉树】
深入理解【二叉树】
71 0
|
3天前
|
算法
22_最大二叉树
22_最大二叉树
|
4月前
|
Java
二叉树
二叉树
20 0
|
5月前
|
存储 C++
二叉树
二叉树 “【5月更文挑战第18天】”
36 6
|
5月前
|
算法 网络协议 NoSQL
认识二叉树(详细介绍)
认识二叉树(详细介绍)
二叉树(详解)下
二叉树(详解)
56 0
|
5月前
|
存储 数据库管理
【二叉树】
【二叉树】
47 0
|
5月前
|
存储 Java C++
二叉树的实现(上)
二叉树的实现
63 0