龙空技术网

数据结构--二叉树

京城莹莹 306

前言:

现时我们对“二叉树 层”大约比较注重,咱们都需要了解一些“二叉树 层”的相关知识。那么小编同时在网上网罗了一些对于“二叉树 层””的相关知识,希望你们能喜欢,我们快快来了解一下吧!

一、树的基本概念

1.优点

有序数组插入数据项和删除数据项太慢。

链表查找数据太慢。

在树中能快速的查找、插入、删除数据项。

2.路径

顺着连接节点的边从一个节点到另一个节点,所经过的节点顺序排列称为路径。

3.根

树最上面的节点称为根节点。一棵树只有一个根,而且从根到任何节点有且只有一条路径。

4.父节点

每个节点都有一条边向上连接到另一个节点,这个节点就称为是下面这个节点的父节点。

5.子节点

每个节点都有一条边向下连接到另一个节点,下面的节点就是该节点的子节点。

6.叶子节点

没有子节点的节点称为叶子节点。

7.子树

每个节点都可以作为一个子树的根,它和它所有的子节点,子节点的子节点组合起来就是一个子树。

8.访问

访问一个节点是为了在这个节点上执行一些操作,如查看节点的数据项,如果仅仅是经过一个节点,不认为是访问了这个节点。

9.层

一个节点的层数是指从从根开始到这个节点有多少代。根为0层。

10.二叉树

树的每个节点最多只能有两个子节点的树,称为二叉树。

二、对二叉树的操作

1.插入节点

从根节点开始查找一个相应的节点,这个节点就成为新插入节点的父节点,当父节点找到后,通过判断新节点的值比父节点的值的大小来决定是连接到左子节点还是右子节点。

2.查找节点

从节点开始查找,如果查找的节点值比当前的节点的值小,则继续查找其左子树,否则查找其右子树。

3.遍历树

根据特定的顺序访问树的每一个节点,根据顺序的不同分为前序遍历、中序遍历、后序遍历。

前序遍历:根节点、左子树,右子树。

中序遍历:左子树、根节点、右子树。

后序遍历:左子树、右子树、根节点。

4.删除节点

在删除之前要查找到需删除的节点找到节点后,这个要删除的节点有三种情况需要考虑。

4.1 该节点是叶子节点,没有子节点。

只需要改变该节点的父节点 引用值,将指向该节点的引 用设置为null就可以了。

4.2 该节点有一个子节点

改变父节点的引用,将其直接指向要删除节点的子节点。

4.3 该节点有2个子节点

需要使用它的中序后继来代替该节点。

5.代码实现

标签: #二叉树 层